{ "format": "researchstudio-text-runtime-v1", "upstream_commit": "0597891df1a153b8e4cbdc8c1c685f43a0a6abcf", "scope": "idea", "files": [ { "path": "LICENSE", "sha256": "db60a6df93f1786929a223558ca0c202ef61095600785cf7503fbcd4bac1bd02", "text": "MIT License\n\nCopyright (c) 2026 Happy\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n" }, { "path": "PROMPT_PROVENANCE.json", "sha256": "4f06f43284eeacfcc453fcfa1cd2e1b85fb51dc8fb4985ba17fcea9e6a56c660", "text": "{\n \"original_prompts\": 11,\n \"patterns\": 15,\n \"subpatterns\": 31,\n \"preservation\": \"upstream_bytes_unchanged\",\n \"resources\": {\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-patterns/adapt_via_conditioning.md\": \"b5aac2a729f2c46ae2a7a593823115fec9749da30477c6aeb75a2c36325f085b\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-patterns/algebraic_equivalence_unification.md\": \"f52205190e01c73e751d586bafb44b53df85d3a75a6a58214922b6b0c45a9a33\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-patterns/architectural_operator_substitution.md\": \"3d19340d40077d188b19d8db29f6dc531068b2f94f474a814a12e6da47a220e7\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-patterns/assumption_audit_and_pivot.md\": \"09e166f1511831bae513bd7c25cc63440c5f14110a88430af8b9c5d157aa5cc3\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-patterns/characterize_limit_then_surpass.md\": \"546e02ccfcf965d4084f8d3a00776268f93212b32a3849f2fa20c7a287db5001\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-patterns/controlled_diagnostic_design.md\": \"6eb00c3e1536238e9e7120479a156b73fcf649c8b20b7615069a463225dbf7c5\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-patterns/decompose_and_delegate.md\": \"504a0f168dd1f8fb5e725f1a2d404b172d0967be6f3d91f9d32801067dbaa0cd\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-patterns/generative_process_redesign.md\": \"d8d7a8633ff3243ab5d56f0e3ddabba88cb0314bf01b788922e369d4d19348d0\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-patterns/heterogeneous_decomposition.md\": \"08cc30a356d8aeb0c07109c914938c3da14d60c07be809613b2195efd45f4476\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-patterns/reframe_as_solvable_object.md\": \"a0876cbb5670f0b99d46279079066119a5c795be42aa438aa793be34f7e89dfc\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-patterns/relax_discrete_search_to_continuous.md\": \"7a4db9933efa57024083886e5d42432ac5330f56a9ea6a7936de8fd70368b502\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-patterns/self_supervised_signal_engineering.md\": \"7e63e33e84b6c6438041999bc7180aba61dfa1e8cd3cfac8bdd0263dcb819f53\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-patterns/structural_prior_encoding.md\": \"3ebc3ea6829e9904b5d73b6b01808e3464115d8cc95795a61005029ca1ad358a\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-patterns/targeted_self_supervised_objective.md\": \"a7e8ba7e87ea63a0446741ed89d53f38b2f7fc85a84c9f69dd75afcb67ba8df1\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-patterns/unify_into_shared_representation.md\": \"ebba3230237271e37d5280030ad147493deed2605fe53f5324f3ebb70f1d599c\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C00.md\": \"0bc790076bc61bc5a902094b3b1326375b20a2210540b9665c97728f8a869d56\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C01.md\": \"a09198aec391b4beef0c9630b9c1a1793275ee6b72e8276646b76a95d69b7a3c\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C02.md\": \"c526fdc812d2e955da7de11c64be2a0858fa65f331ae0679b5d9170a1d96b5ff\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C03.md\": \"8c69e090645656f141b869a7701f6f611917395f2abf6578eced99520dea6da9\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C04.md\": \"e479b0ce12a37ce4c9bc052fa2dd3cc9c7f52b77be4b619253fda8defa0c23fe\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C05.md\": \"e6c07526be463b48ef858270dba3de30170ecb3fcde37ad66d4dc635e0f34d48\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C06.md\": \"d1570fddded634848788b33c6a731dbce440d0450e6f3c550f0f517d87a7bba8\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C07.md\": \"1cf23b65fbee15bbbffcda7f4af3542f60cc167134efce2e203cd0fc4aede69f\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C08.md\": \"dd9b19e9af3315d69cd3435f2033c87d1d6ca44126603db2595ece8952f0e16b\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C09.md\": \"e178b7925e08f94311f28639a88030f84ece1468b7080707472afe432ff4126e\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C10.md\": \"8724aaff35a9704544a9be7625e6a05d58c606335f3a65e99a825d3bbce8366a\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C11.md\": \"74f197a89da72069cef06640e425cb5fed8b36fa3f2247ac50690424ec904c65\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C12.md\": \"6157bfd876ba96f837c0f577399f6afc1602e419c45fe77424f57b5e446a8927\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C13.md\": \"7e19113e0aff6d02e77fc4a9898c6c5edae5a1b20f6c46bf65cd78fae0e62d9b\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C14.md\": \"5eb5d1ba44a72a8e8274a8958a1e9ac64b0badb96896f637d2072733e2312abe\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C15.md\": \"fce7d01cac2fe7f8562d5de2af87159547d7a7e9bb9b115560af14a00a6f8999\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C16.md\": \"0978269b1da55a84902d42087c8d481a3fb40c6d299870d760ff9a64df1ed70e\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C17.md\": \"7909db559de1066dee94d425dd43285f7a88c619ba65870632bf787629aaf167\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C18.md\": \"871ad780b2120f7f4bd0930a3ae0d2c66e3928368a5ffbf36f4777c3fb8d01a6\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C19.md\": \"80f960607eadbb4c61eb9e8c9b7394e76d36b568700fdcc73b53ea9cc7ac6cce\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C20.md\": \"44b744d5822c8c662171e2f9607e78f0dd57246938254a22354e05386841c63f\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C21.md\": \"5f37f2da95b53bfc32fa8a257293cbf549dc1959a45e933949e04bad4b65e89f\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C22.md\": \"094fa0747a14ae5f706575ad7be75604d7ccd307420e39ad22c79bc870c5a17c\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C23.md\": \"d301755650014fa6d6df8c14faadbdc32aea4952c2bca76e209981495682f455\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C24.md\": \"b4f8759c8da5248c192265a3b42dfd6356e98fcae95a8f8d6048dabeee28bd8a\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C25.md\": \"ced46168bbcc6ab1aeaf9a242b47631d6076097bd8758c08560c3faa888da4ff\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C26.md\": \"8b3b77eb217046fa5c64a7f5fd38a67bbfc96550b92cc6249a46241d222318ae\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C27.md\": \"1c6a3b88c1c50aab2841681e9eeea8e6279409b02f4221eca7aa8e3059795bf4\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C28.md\": \"d72af42e36a4333f45f633454858cada56aca66b4b3ac1c711f23abad3273b6c\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C29.md\": \"9f619738bcf908ebbb9b27a771b83007b4370ac5fc9f84738b3c823fb5789ca1\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C30.md\": \"7e91d3605898cddc818268020289617ca76496905342b58adc4358eedc146497\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/system-prompts/bottleneck_identify.txt\": \"58b822ea26d9de94d10a9ad7dcf9a94879489361b435cbd610c5fb310adcf68c\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/system-prompts/coherence_trace.txt\": \"b53c6ff219a1b4eb1689a9f5728c21e9c8b8b0de1e93babf1b5814214447bb02\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/system-prompts/critique.txt\": \"b674386c19d0e2bbfaf887f94cb3fa1e8afadebe0e772ca20f0eb2e53e5f0e37\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/system-prompts/derive_plain.txt\": \"a4d2dd61a92c6acf5d1c7562e39e2a1af434e4b07ca857603ec26bc183e7bf37\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/system-prompts/expand.txt\": \"3c9261d04821f51dd8f52678afc07ccdf929a44a7359606da2a3ce15270a9feb\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/system-prompts/falsification_reaudit.txt\": \"032d78e18ee9fd6e1e84bbe4d717c1fc1ab7a71e2cac4b9009e2bf9e413d9705\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/system-prompts/ideate_generate.txt\": \"60728c5c2b351352b7bc49fafdbb320cd4413dcc33a0f40f3c73062679afa3c0\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/system-prompts/ideate_select.txt\": \"2acf389b68e0a3f752d4fc20299219c6332767f704ab36dc494b51c36c4ec435\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/system-prompts/implementability_audit.txt\": \"952cf7a5950831d676ed6360b95f1b2833faf561c2fbd821c2c0eaaed6402ce1\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/system-prompts/refutation_recheck.txt\": \"8aca641287a84db080f67f5aa7ddffe3100bb7588b970c80ef04569d619db25d\",\n \"upstream/ResearchStudio-Idea/skills/idea_spark/references/system-prompts/revise.txt\": \"879eb4df40fc45c32f7f7c3dfe387b587c8abb2872de4b4fbeb39d72b138274a\"\n }\n}\n" }, { "path": "SKILL.md", "sha256": "9541b481ddcac882cc987f46cd6b31ad151ad43ce8facaa082a0fb41ccab62d7", "text": "# ResearchStudio: IdeaSpark → Scoop Check\n\nCurrent priority: one complete text-only flow. Run the original IdeaSpark Phase\n0–4, then the original seven-step independent Scoop Check in the SAME run.\nProposal workflows are paused and are not part of this release. Existing other\nResearchStudio source resources remain available for compatibility.\n\nStart with rs_start(workflow=\"idea-spark\", topic=).\nfollowup_scoop defaults to true. Require initialization.readback_verified=true.\nRead required_sources once. Follow rs_next; read only its named inputs with\nrs_read; submit only the current task with rs_submit. If these tools are absent,\nuse the four legacy run tools. read_research_run/get_research_index describe the\n_requests/acquisition.json envelope accepted by submit_research_step for coverage\nresolution and per-paper full text, with identical validation. Keep the run credentials,\nrequest_id and revision private. Every different write needs a new request_id;\nreplay the exact old request only to recover an uncertain acknowledgement.\n\nOriginal 11 reasoning prompts, 15 patterns and 31 sub-patterns are unchanged.\nUse their exact contents. The server provides cloud storage and original\nallowlisted deterministic helpers; the host supplies reasoning and real Web\nSearch. No local service, runtime download, user file upload or subagent team is\nrequired. Never claim fresh independent model contexts when the host lacks them.\n\nThe source file and research run stores are distinct: rs_read(source_id=...) reads\nimmutable public source; rs_read(run_id, run_token, object_id=...) reads a private\nartifact. Follow Unicode next_offset with expected_sha256 for complete reads.\nLarge full-text caches are assembled SERVER-SIDE from per-paper records; do not\nretype or resubmit a growing cache. See adapter/SERVER.md for the record contract.\n\nIdea cards alone do not finish the combined workflow. Scoop Check saves seven\nfull step logs to scoop_check/step1.md through step7.md, then its original\nfive-section report to scoop_check/report.md. Deliver the three idea cards and\nthe complete report; do not replace the report with an abstract. Steps retain\noriginal research semantics, including negative results and failed acquisition.\n\nOn failure use the returned index/TODO, keep the checkpoint and stop automatic\nretries. If tools are absent, refresh the app tool list before research. If the\nMCP service itself is unreachable it cannot return a fallback; preserve the\nlast known checkpoint in the conversation. Never rebuild a guessed runtime.\nStorage/routing success does not independently validate evidence or novelty.\n" }, { "path": "adapter/ENTRY.md", "sha256": "9541b481ddcac882cc987f46cd6b31ad151ad43ce8facaa082a0fb41ccab62d7", "text": "# ResearchStudio: IdeaSpark → Scoop Check\n\nCurrent priority: one complete text-only flow. Run the original IdeaSpark Phase\n0–4, then the original seven-step independent Scoop Check in the SAME run.\nProposal workflows are paused and are not part of this release. Existing other\nResearchStudio source resources remain available for compatibility.\n\nStart with rs_start(workflow=\"idea-spark\", topic=).\nfollowup_scoop defaults to true. Require initialization.readback_verified=true.\nRead required_sources once. Follow rs_next; read only its named inputs with\nrs_read; submit only the current task with rs_submit. If these tools are absent,\nuse the four legacy run tools. read_research_run/get_research_index describe the\n_requests/acquisition.json envelope accepted by submit_research_step for coverage\nresolution and per-paper full text, with identical validation. Keep the run credentials,\nrequest_id and revision private. Every different write needs a new request_id;\nreplay the exact old request only to recover an uncertain acknowledgement.\n\nOriginal 11 reasoning prompts, 15 patterns and 31 sub-patterns are unchanged.\nUse their exact contents. The server provides cloud storage and original\nallowlisted deterministic helpers; the host supplies reasoning and real Web\nSearch. No local service, runtime download, user file upload or subagent team is\nrequired. Never claim fresh independent model contexts when the host lacks them.\n\nThe source file and research run stores are distinct: rs_read(source_id=...) reads\nimmutable public source; rs_read(run_id, run_token, object_id=...) reads a private\nartifact. Follow Unicode next_offset with expected_sha256 for complete reads.\nLarge full-text caches are assembled SERVER-SIDE from per-paper records; do not\nretype or resubmit a growing cache. See adapter/SERVER.md for the record contract.\n\nIdea cards alone do not finish the combined workflow. Scoop Check saves seven\nfull step logs to scoop_check/step1.md through step7.md, then its original\nfive-section report to scoop_check/report.md. Deliver the three idea cards and\nthe complete report; do not replace the report with an abstract. Steps retain\noriginal research semantics, including negative results and failed acquisition.\n\nOn failure use the returned index/TODO, keep the checkpoint and stop automatic\nretries. If tools are absent, refresh the app tool list before research. If the\nMCP service itself is unreachable it cannot return a fallback; preserve the\nlast known checkpoint in the conversation. Never rebuild a guessed runtime.\nStorage/routing success does not independently validate evidence or novelty.\n" }, { "path": "adapter/RUNTIME.md", "sha256": "f886193cc8d77029e11d053b369e4a3c84473c6beb56be62a8e2de3d6af192c5", "text": "# Running the exact ResearchStudio source in ChatGPT\n\n## Preferred server execution\n\nWhen server_runtime.configured is true and write tools are allowed, follow\nadapter/SERVER.md. The server preinstalls and verifies the original runtime;\nthe ChatGPT container does NOT need to download it. This file's download path\nis an optional local-execution alternative, not a mandatory startup step.\nOn a blocked download, call get_research_index once and follow its TODO. Stop\nautomatic retries and never reconstruct a guessed minimal dependency set.\n\n## Acquire and verify\n\nCall get_research_runtime(scope=\"idea\") for IdeaSpark, paper-search and\nscoop-check, or scope=\"all\" for the entire suite except IdeaQuality. Its\ndownload URLs are on the same deployed origin as this MCP endpoint. Fetch via\nan actual available host download tool. If Python networking is unavailable,\nuse a supported browser/file download or have the user attach that exact file.\nDo not assume an MCP tool's text response automatically creates a sandbox file.\nThe transparent Idea .txt packet is a fallback for clients rejecting ZIP uploads.\n\nRead tools/bootstrap_runtime.py completely before using it. Verify the downloaded\nartifact's SHA-256 against the value returned by the tool, then call\nrestore(source, fresh_destination, expected_sha256). It validates paths, all\nfile hashes and size limits, and refuses existing destinations. It never runs\ndownloaded code. The package root is the fresh_destination itself.\n\nLet PACKAGE be this root; IDEA = PACKAGE /\n'upstream/ResearchStudio-Idea/skills/idea_spark'. Pick a NEW writable RUN outside\nPACKAGE and outside every prior run. Preserve the exact user query.\n\n```python\nimport subprocess, sys\nresult = subprocess.run(\n [sys.executable, str(IDEA / 'scripts/run.py'), 'next',\n '--dir', str(RUN), '--query', exact_user_query],\n text=True, capture_output=True, timeout=30)\nprint(result.stdout)\nprint(result.stderr)\nif result.returncode:\n raise RuntimeError('Read the full navigator diagnostic')\n```\n\nConsume the WHOLE emit, including continued input lists. Inspect commands and\nuse argument lists or Python file operations; never shell=True on an emit.\nRun next after each completed step. The native navigator is authoritative for\nbranching: do not substitute a simplified MCP phase list for its state machine.\nSentinel exit codes 10/11 are host-LLM handshakes as documented in original\nSKILL.md; they are not automatic scientific failures.\n\n## Exact reasoning, adapted transport\n\nRead the original SKILL.md and workflows/idea-spark.md completely. For a phase,\nidea_spark_prompt(name) returns the original prompt text unchanged as one result;\nuse its named inputs. No substitutions, interpolations, extra personas, rewritten\nrubrics, or summaries are inserted into prompt_text. Additional host context\nbelongs in separate inputs. Do not assume a tool result becomes a system role.\n\nThe default web adapter replaces remote acquisition with actual host web/Files:\nPhase 0 queries and scholarly metadata, full-text and top-up acquisition, and\nPhase 3 collision searches. Preserve the upstream schemas, selection semantics,\nsource manifests, time windows, mandatory anchors and missing-evidence outcomes.\nMark real host search as webfallback, not as successful API connector execution.\nFollow workflows/idea-spark.md for exact adapter artifact contracts.\nThe original API retrievers are also included unchanged, for environments in\nwhich they are actually configured and allowed; do not assume credentials.\n\nKeep partition/tag/coverage/fulltext gates; canonical candidates; citations;\ncoherence blocking findings; exact collision terms and stale-term re-search;\nrefutation recheck; bounded revisions; falsification re-audit; information-gain\nretry and abandonment; skeleton/fill/derive/method view; implementability audit;\nvalidators and final rendering. Removing separate IdeaQuality does not remove\nany of these IdeaSpark checks.\n\nUse fresh phase contexts only when the host actually exposes them. Otherwise\nrecord phase_isolation: best_effort. Without isolation, identical source cannot\nguarantee the original adversarial independence or model outputs.\n\n## Deliver and resume\n\nSuccessful IdeaSpark execution returns idea.std.zh.md, idea.std.en.md and\nidea.detail.en.md from phase4, plus actual intermediate artifacts. Otherwise\nreturn its actual do_not_generate or phase_3_failed artifact. Tool failures or\nmissing evidence belong in run_status and are not fabricated scientific verdicts.\n\nRecord run_status.json: mode (upstream_with_web_adapter or guided_draft),\nworkflow, upstream_commit, corpus_sha256, phase_isolation, evidence_mode,\nlast_completed_step, next_step, outputs and limitations. Export a checkpoint\nZIP of this RUN only. On resume, verify identity and re-run the original next.\n\nOther workflows use their unchanged original runbooks and separate workflows/\nadapter. Run tools/runtime.py doctor for installed dependencies. Poster/video\nrendering is complete only after the actual original output checks pass; a\nsource draft is not a finished video. Server mode can persist run artifacts and\nexecute the allowlisted original IdeaSpark deterministic steps; it does not\npurchase or call model/renderer services.\n" }, { "path": "adapter/SERVER.md", "sha256": "e1a4ae5755989dfe1408dda5ddd21d44bcf207e8ca2cdb54098aea569a112288", "text": "# Server runtime and bounded recovery\n\nThe server preinstalls its verified original deterministic runtime.\nThe free Cloudflare deployment embeds all 105 original IdeaSpark files in a\nPython Worker. It uses one persistent Durable Object per run, so neither the\nuser's computer nor the ChatGPT container needs to keep a local service running.\nThe MCP edge independently embeds all 298 original files across eight workflows.\nDo not download runtime into ChatGPT when this backend is configured. All eight\nworkflows keep their original source; server deterministic execution currently\ncovers IdeaSpark. Other workflows have persistent artifacts and their original\nhost-executed runbooks; Reel renderers are not provided by this backend.\n\n## Preferred text-only task interface (0.6.0)\n\nUse rs_start → rs_next → rs_read/rs_submit. IdeaSpark defaults to followup_scoop=true.\nThe combined workflow completes only after all seven Scoop Check logs and its\nreport are saved. Exact current-step source is returned by rs_next; read the\nwhole runbook once at startup. Existing twelve tools remain compatible.\n\nrs_submit takes the current task_id, expected_revision and a private request_id:\n\n- record_type=artifacts: artifacts=[{object_id, content}], where content is native\n JSON or Markdown text. Keep each request below 64 KiB; use the legacy bounded\n chunk upload when a single artifact exceeds the native-record limit.\n- record_type=fulltext: data={paper_id, entry}. Use the pool in acquisition_plan.\n entry has string fields intro, method, source_used, source_url, warning.\n source_used is host_web_fulltext only when actual method text was retrieved;\n otherwise use failed, empty method and an explicit warning. Each record is\n limited to 40,000 UTF-8 bytes. No scientific provenance is attested by storage.\n- record_type=fulltext_complete: data={}. The server validates required records\n and reserve attempts, then assembles fulltext_cache.json and per-paper views.\n- record_type=coverage_resolution: data={resolutions:[{title,record,source_excerpt,\n reason}]}. Include every nomination. record=null requires a failure reason.\n New admitted rows still need original pattern classification; submit only\n phase0/_host_rows.md and the server runs the original checked merge/finalizer.\n Empty nominations [] use the original deterministic no-op automatically.\n- record_type=advance executes pending original deterministic commands. It does\n not run an LLM or retrieve missing papers. No automatic acquisition retry.\n\nSuccessful artifact submissions also run a bounded sequence of ready\nnon-acquisition deterministic steps. If a following helper fails, the artifact\nis retained; the response records the blocked next task rather than losing\nacquired evidence. Correct the cause before using advance.\n\ncollision_hits.json must be a top-level array of objects. Phase 4 method_view\nalso contains the selected canonical candidate's mechanism and parameter fields;\nread these before marking a previously fixed default as an author decision.\n\n## Missing rs_submit: continue through the existing write tool (0.6.1)\n\nServer discovery cannot prove which tools the current ChatGPT client loaded.\nIf rs_submit is absent but submit_research_step is callable, continue the SAME run\nusing its existing files schema. Do not restart, download runtime, upload markers,\nor treat acquisition as impossible solely because the preferred tool is missing.\n\nCall submit_research_step with the latest run_id, run_token, expected_revision,\na fresh private request_id and exactly one file:\n\n files = [{path: \"_requests/acquisition.json\",\n text: JSON.stringify({record_type: \"coverage_resolution\",\n data: {resolutions: [...]}}),\n offset: 0, finish: true}]\n\nFor full text use the same envelope with record_type=\"fulltext\" and\ndata={paper_id,entry}. Finish with record_type=\"fulltext_complete\", data={}.\nThese invoke the SAME native stage/provenance/completeness validators. For long\nJSON, use existing Unicode chunks (offset, finish=false until final chunk),\nat most 24,000 characters per chunk and 64 KiB per complete request. No other\nfiles may share the envelope submission. The server consumes the envelope;\ncanonical artifacts, revision and idempotency receipt are committed atomically.\nPartial or rejected envelopes cannot finalize coverage or full-text gates.\n\nAfter coverage resolution, classify admitted papers in phase0/_host_rows.md.\nWith legacy ordinary file uploads, follow execute_research_step(action=\"advance\")\nfor the original checked merge/finalizer when next requests it. Native submissions\nand complete acquisition envelopes also drain bounded ready deterministic steps.\n\n## Legacy start and continue\n\n1. Read the selected workflow adapter and whole original SKILL.md. Use\n create_research_run(topic, workflow, request_id, followup_scoop). The write\n tools require host support; do not work around a host denial by relabeling\n mutations read-only. request_id is a fresh random 32–64 lowercase hex string.\n Save run_id and run_token privately. They identify THIS run, not a global\n current session. Never reuse another chat's run unless explicitly resuming it.\n2. Consume the complete next.navigator output. Paths use $RUN (private state)\n and $IDEA (the immutable upstream IdeaSpark source). Read prompt_file_id with\n read_research_file or the complete reasoning prompt with idea_spark_prompt.\n These are unchanged source bytes, not summaries or substituted prompts.\n3. Read named run artifacts with read_research_run(path). It returns Unicode\n pages and SHA-256; follow next_offset with expected_sha256 to finish a read.\n4. Use actual host reasoning/Web Search. Submit original-schema files with\n submit_research_step(files, expected_revision, request_id). Use the latest\n revision from a successful response. The original user query is immutable.\n Submission saves artifacts; it does not declare that checks passed.\n5. execute_research_step(action=\"advance\") interprets one batch of the original\n navigator's deterministic commands. No shell is launched. The adapter handles\n allowed Python helpers, mkdir, touch and archive operations. Original retries,\n mergers, citation gates and terminal branches stay in the navigator.\n action=\"command\" is for a named original helper with explicit arguments,\n e.g. command=\"lit_table_merge\", arguments={\"out\":\"phase0\",\n \"shards\":[\"phase0/_host_rows.md\",\"phase0/lit_table.md\"]}.\n6. Each submission/execution returns next/TODO. Do not call status immediately\n after a successful response merely to rediscover the same step. Status reads\n are for resume, artifact retrieval, conflicts and uncertain acknowledgements.\n\nAcquisition commands (phase0, fulltext/top-up, collision, host-ref resolution)\nare intentionally host Web Search operations. Use workflows/idea-spark.md and\npreserve original selection, schemas, evidence manifests and missing-evidence\noutcomes. Do not call a blocked connector repeatedly. Preserve internal audits;\nstandalone IdeaQuality is the only excluded module. followup_scoop=true requests\na Scoop Check handoff after successful cards; its report still requires the\nactual seven-step host procedure and must not be marked automatically passed.\n\n## Large files and concurrency\n\nKeep each complete tool request below 64 KiB (UTF-8 bytes); use smaller chunks\nfor non-ASCII text or multiple files. Each chunk allows at most 24000 Unicode\ncharacters. Start offset=0, finish=false; continue with the pending_uploads\nnext_offset. Only finish=true publishes a complete file and validates its JSON\nand optional whole-file sha256. Incomplete uploads never reach the navigator.\nUse a new request_id per different chunk, retaining the current revision. An\nabandoned partial upload can be replaced with an offset=0 submission.\n\nDifferent runs can execute concurrently. Cloudflare assigns each run its own\nDurable Object; same-run writes use a synchronous storage transaction and\nexpected_revision. The optional local backend instead uses a process-safe lock\nand SQLite. On revision_conflict, read\nstatus and reconcile; never overwrite with the old revision. Duplicate requests\nwith the same key and body return their stored result, even after restart.\nChanged content requires a new request_id. Responses marked replayed may refer\nto an earlier revision; read current status before making the next new write.\n\nIn free cloud mode, run_id is the research session ID and run_token is its\nprivate access capability. MCP transport initialization alone does not create\na research run. Missing credentials cannot read or write private artifacts.\nKeep the original create request_id private too: replaying that exact create\nrequest can recover a lost token. Store all three with the checkpoint.\n\nFree cloud limits: 8 MiB UTF-8 artifact/upload text per run and at most 2048\nmutation receipts totaling 16 MiB. Text is saved in incremental chunks; completed\nstate survives Worker restarts. Export important artifacts; retention is currently\nindefinite, with no automatic deletion or compression of old receipts. Cloudflare\naccount quotas still apply. Memory and temporary files are only working copies.\n\n## Failure is a checkpoint, not a retry loop\n\nAll blocked/degraded responses include a skill index or TODO and\nretry_policy.automatic_retries=0. Follow it. Edge backend failures open a local\ncircuit for 60 seconds; this is a minimum recovery cooldown, not a polling timer\nand not a globally synchronized lock across Cloudflare isolates.\n\nAfter a timeout, execution can be UNKNOWN: the backend may have committed after\nthe edge stopped waiting. Save the request_id, arguments, run_id and run_token.\nAfter a real recovery signal, read status and, if necessary, replay the EXACT\nrequest with its SAME key. Never create a replacement run to recover a lost ack.\n\nUse embedded get_research_index, current-phase sources and allowed Web Search\nto prepare the next input, labeling work guided_draft until checks execute.\nKeep a short TODO with last acknowledged revision, pending artifacts, failed\ncapability, missing evidence and next required original check. Do not claim a\ncompleted navigator, passed validation or independent reviewers from a TODO.\nIf the MCP edge itself is unreachable, no tool response is possible: use the\npreviously saved index/TODO or a text checkpoint in the conversation.\n\nThis backend runs original deterministic scripts only. Fresh LLM subagents,\narbitrary Python for coherence experiments, PDF/video rendering and continuous\nbackground LLM reasoning are not provided. Use real host capabilities where\navailable and record any gaps. Sibling-run soft dedup hints are isolated by\ndefault; share a prior candidate explicitly when cross-run comparison is wanted.\n" }, { "path": "tools/bootstrap_runtime.py", "sha256": "7fa27ca16d94c62c67a532f03028cc31e655fb7f26497c53a649c10b7cd483ca", "text": "#!/usr/bin/env python3\n\"\"\"Verify and restore a downloaded runtime. Offline only; never executes its source.\"\"\"\nimport argparse\nimport hashlib\nimport json\nfrom pathlib import Path, PurePosixPath\nimport stat\nimport tempfile\nfrom zipfile import ZipFile\n\nMAX_BYTES = 80 * 1024 * 1024\n\n\ndef safe_name(name):\n path = PurePosixPath(name)\n if (not name or path.is_absolute() or \"..\" in path.parts or \"\\\\\" in name or \":\" in name\n or str(path) != name or str(path) == \".\"):\n raise ValueError(\"Unsafe runtime path\")\n return name\n\n\ndef restore(source, destination, expected_sha256):\n source, destination = Path(source), Path(destination)\n if source.stat().st_size > MAX_BYTES:\n raise ValueError(\"Package too large\")\n raw = source.read_bytes()\n if hashlib.sha256(raw).hexdigest() != expected_sha256:\n raise ValueError(\"Download hash mismatch; do not run\")\n if destination.exists() or destination.is_symlink():\n raise ValueError(\"Choose a fresh destination\")\n files = {}\n if source.suffix == \".zip\":\n import io\n with ZipFile(io.BytesIO(raw)) as archive:\n total = 0\n for entry in archive.infolist():\n safe_name(entry.filename)\n if entry.is_dir():\n continue\n if stat.S_ISLNK(entry.external_attr >> 16) or not entry.filename.startswith(\"researchstudio/\"):\n raise ValueError(\"Unexpected archive member\")\n name = safe_name(entry.filename.removeprefix(\"researchstudio/\"))\n total += entry.file_size\n if total > MAX_BYTES or len(files) >= 3000 or name in files:\n raise ValueError(\"Duplicate or oversized runtime\")\n files[name] = archive.read(entry)\n else:\n packet = json.loads(raw)\n if packet.get(\"format\") != \"researchstudio-text-runtime-v1\":\n raise ValueError(\"Unknown runtime packet\")\n for entry in packet[\"files\"]:\n name = safe_name(entry[\"path\"])\n data = entry[\"text\"].encode(\"utf-8\")\n if name in files or hashlib.sha256(data).hexdigest() != entry[\"sha256\"]:\n raise ValueError(\"Duplicate or corrupt file\")\n files[name] = data\n files[\"INTEGRITY.json\"] = json.dumps({\"format\": \"researchstudio-integrity-v1\",\n \"upstream_commit\": packet[\"upstream_commit\"], \"files\": {\n n: {\"sha256\": hashlib.sha256(d).hexdigest()} for n, d in files.items()}}).encode()\n if sum(map(len, files.values())) > MAX_BYTES or len(files) > 3000:\n raise ValueError(\"Runtime size limit\")\n manifest = json.loads(files[\"INTEGRITY.json\"])\n if manifest.get(\"format\") != \"researchstudio-integrity-v1\":\n raise ValueError(\"Invalid integrity manifest\")\n if set(manifest[\"files\"]) != set(files) - {\"INTEGRITY.json\"}:\n raise ValueError(\"Manifest must cover every runtime file\")\n for name, record in manifest[\"files\"].items():\n safe_name(name)\n if hashlib.sha256(files[name]).hexdigest() != record[\"sha256\"]:\n raise ValueError(\"Runtime file hash mismatch\")\n destination.parent.mkdir(parents=True, exist_ok=True)\n with tempfile.TemporaryDirectory(prefix=\"rs-restore-\", dir=destination.parent) as tmp:\n stage = Path(tmp) / \"runtime\"\n stage.mkdir()\n for name, data in files.items():\n path = stage / name\n path.parent.mkdir(parents=True, exist_ok=True)\n path.write_bytes(data)\n stage.rename(destination)\n return {\"directory\": str(destination.resolve()), \"files\": len(files),\n \"upstream_commit\": manifest[\"upstream_commit\"]}\n\n\nif __name__ == \"__main__\":\n parser = argparse.ArgumentParser(description=__doc__)\n parser.add_argument(\"source\", type=Path)\n parser.add_argument(\"destination\", type=Path)\n parser.add_argument(\"--sha256\", required=True)\n args = parser.parse_args()\n print(json.dumps(restore(args.source, args.destination, args.sha256), indent=2))\n" }, { "path": "tools/runtime.py", "sha256": "606f541f0d6ee90b26e458cb4bf1fbd33f978b3bb2f01929bcb157e28319f4a8", "text": "#!/usr/bin/env python3\n\"\"\"Offline helpers; also importable from ChatGPT's Python notebook.\"\"\"\nfrom __future__ import annotations\n\nimport argparse\nimport hashlib\nimport importlib.util\nimport json\nfrom pathlib import Path, PurePosixPath\nimport shutil\nimport stat\nimport tempfile\nfrom zipfile import ZipFile\n\nMAX_BYTES = 80 * 1024 * 1024\n\n\ndef safe_path(name: str) -> PurePosixPath:\n path = PurePosixPath(name)\n if (not name or path.is_absolute() or \"..\" in path.parts or \"\\\\\" in name\n or \":\" in name):\n raise ValueError(f\"Unsafe package path: {name!r}\")\n if str(path) in {\".\", \"\"}:\n raise ValueError(\"Empty path\")\n return path\n\n\ndef restore(source: Path, destination: Path) -> Path:\n \"\"\"Validate everything, then write to a fresh directory; never execute input.\"\"\"\n source, destination = Path(source), Path(destination)\n if destination.exists() or destination.is_symlink():\n raise ValueError(\"Choose a fresh destination; existing runs are never overwritten\")\n files = {}\n if source.suffix == \".zip\":\n with ZipFile(source) as archive:\n total = 0\n for entry in archive.infolist():\n path = safe_path(entry.filename)\n if stat.S_ISLNK(entry.external_attr >> 16):\n raise ValueError(\"Symlinks are not supported\")\n if entry.is_dir():\n continue\n total += entry.file_size\n if total > MAX_BYTES or len(files) >= 3000:\n raise ValueError(\"Runtime archive exceeds size limit\")\n if path.parts[0] != \"researchstudio\":\n raise ValueError(\"Expected a researchstudio runtime archive\")\n if len(path.parts) < 2:\n raise ValueError(\"Missing file path\")\n name = str(PurePosixPath(*path.parts[1:]))\n if name in files:\n raise ValueError(f\"Duplicate path: {name}\")\n files[name] = archive.read(entry)\n else:\n if source.stat().st_size > MAX_BYTES:\n raise ValueError(\"Runtime packet exceeds size limit\")\n packet = json.loads(source.read_text(encoding=\"utf-8\"))\n if packet.get(\"format\") != \"researchstudio-text-runtime-v1\":\n raise ValueError(\"Not a ResearchStudio text runtime\")\n for entry in packet[\"files\"]:\n name = str(safe_path(entry[\"path\"]))\n data = entry[\"text\"].encode(\"utf-8\")\n if name in files or hashlib.sha256(data).hexdigest() != entry[\"sha256\"]:\n raise ValueError(f\"Duplicate or corrupt file: {name}\")\n files[name] = data\n manifest = {\"format\": \"researchstudio-integrity-v1\",\n \"upstream_commit\": packet[\"upstream_commit\"], \"scope\": packet[\"scope\"],\n \"files\": {p: {\"sha256\": hashlib.sha256(d).hexdigest()} for p, d in files.items()}}\n files[\"INTEGRITY.json\"] = json.dumps(manifest, indent=2).encode()\n if not files or sum(map(len, files.values())) > MAX_BYTES:\n raise ValueError(\"Empty or oversized runtime\")\n destination.parent.mkdir(parents=True, exist_ok=True)\n # Validate in a sibling staging directory; no half-restored run on failure.\n with tempfile.TemporaryDirectory(prefix=\"researchstudio-restore-\", dir=destination.parent) as tmp:\n stage = Path(tmp) / \"runtime\"\n stage.mkdir()\n for name, data in files.items():\n path = stage / name\n path.parent.mkdir(parents=True, exist_ok=True)\n path.write_bytes(data)\n verify(stage)\n stage.rename(destination)\n return destination\n\n\ndef verify(root: Path) -> int:\n root = Path(root).resolve()\n manifest = json.loads((root / \"INTEGRITY.json\").read_text())\n if manifest.get(\"format\") != \"researchstudio-integrity-v1\" or not manifest.get(\"files\"):\n raise ValueError(\"Missing integrity entries\")\n for name, entry in manifest[\"files\"].items():\n path = root / safe_path(name)\n if path.is_symlink() or not path.resolve().is_relative_to(root):\n raise ValueError(f\"Unsafe integrity path: {name}\")\n if hashlib.sha256(path.read_bytes()).hexdigest() != entry[\"sha256\"]:\n raise ValueError(f\"Integrity mismatch: {name}\")\n return len(manifest[\"files\"])\n\n\ndef doctor() -> dict:\n libraries = {}\n for name in (\"docx\", \"fitz\", \"PIL\", \"numpy\", \"pptx\", \"playwright\", \"reportlab\"):\n try:\n libraries[name] = importlib.util.find_spec(name) is not None\n except (ImportError, ValueError):\n libraries[name] = False\n return {\"python_libraries_detected\": libraries,\n \"executables_detected\": {n: shutil.which(n) for n in\n (\"pdftotext\", \"pdftoppm\", \"ffmpeg\", \"ffprobe\", \"soffice\", \"xelatex\", \"node\", \"pptx2video\")},\n \"host_web_search\": \"check the actual host tool list\",\n \"host_file_access\": \"check actual uploaded file access\",\n \"ppt_master_skill\": \"check the actual host skill list\",\n \"browser_launch\": \"unverified; module detection does not prove Chromium launches\",\n \"network\": \"not probed; use host web tools for retrieval\",\n \"note\": \"Detection only; run the required workflow checks before claiming render readiness.\"}\n\n\nif __name__ == \"__main__\":\n parser = argparse.ArgumentParser(description=__doc__)\n sub = parser.add_subparsers(dest=\"cmd\", required=True)\n sub.add_parser(\"doctor\")\n p = sub.add_parser(\"verify\")\n p.add_argument(\"root\", type=Path)\n p = sub.add_parser(\"restore\")\n p.add_argument(\"source\", type=Path)\n p.add_argument(\"destination\", type=Path)\n args = parser.parse_args()\n if args.cmd == \"doctor\":\n print(json.dumps(doctor(), indent=2))\n elif args.cmd == \"verify\":\n print(f\"PASS: {verify(args.root)} integrity entries\")\n else:\n print(restore(args.source, args.destination))\n" }, { "path": "upstream/LICENSE", "sha256": "db60a6df93f1786929a223558ca0c202ef61095600785cf7503fbcd4bac1bd02", "text": "MIT License\n\nCopyright (c) 2026 Happy\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/SKILL.md", "sha256": "ad9237cbc5476abc8e986643926fc7c5489f5679e81b1c21225830d8b5c00934", "text": "---\nname: idea-spark\ndescription: >-\n Generate ONE reviewer-defensible, implementable research idea with a concrete\n method and falsification plan from a stated research direction. Use when the\n user asks for a research idea, novelty analysis, bottleneck diagnosis, or\n paper-shape suggestion. Skip code review, debugging, and unconstrained\n brainstorming without research context.\n---\n\n# Idea Spark Skill\n\nConvert an under-specified research direction into ONE reviewer-defensible Oral-level research proposal — grounded in 1947 ICLR/ICML/NeurIPS papers (2021-2025) — via a 5-phase workflow: retrieve recent literature, diagnose the bottleneck, select + generate a candidate using corpus-derived ideation pattern cards, run it through a quality gauntlet, expand into an idea card.\n\nThis file is the operational runbook. Design rationale (the 7 design principles, why each contract is shaped this way, removed-check history) lives in [references/design-notes.md](references/design-notes.md) — read it only when modifying or evaluating the skill, never needed to run it. When MODIFYING the skill, also replay the cross-shape regression set in [references/regression-directions.md](references/regression-directions.md) (deterministic subset: `python3 \"$SKILL_DIR/scripts/regression_check.py\" `; routing/merger branch fixtures — including every guard/retry branch that real runs rarely exercise: `python3 \"$SKILL_DIR/scripts/selftest_routing.py\"`; unit fixtures for the helpers every phase sits on — the multi-query round-robin and the tolerant LLM-JSON loader: `python3 \"$SKILL_DIR/scripts/selftest_units.py\"`). First-time installation lives in [references/setup.md](references/setup.md).\n\n## When to use\n\n- \"Give me a research idea in {area} I could pursue.\" / \"What's the most impactful next step in this direction?\"\n- \"Help me sharpen this vague direction into an Oral-level proposal.\"\n- \"What's the bottleneck of this problem?\" / \"Run a novelty audit on this idea.\"\n\n## When NOT to use\n\n- Code review, debugging, refactoring. Summarizing one paper. Cross-decade survey writing.\n- Free-association brainstorming with no research context. Engineering integration tasks (\"ship this feature in our system\").\n- Pure benchmark / dataset construction work — the 15-pattern vocabulary handles benchmark *audit* (controlled_diagnostic_design) but not benchmark *construction*.\n\n## Setup (first use only)\n\nFollow [references/setup.md](references/setup.md). Quick version — set two shell variables, install deps, verify:\n\n```bash\nSKILL_DIR= # e.g. ~/.claude/skills/idea-spark (Claude Code), ~/.codex/skills/idea_spark (Codex CLI), or any clone location\nRUN_DIR=\"$PWD/ideaspark_run/\" # convention below; any absolute dir works. No mkdir needed — every phase mkdir -p's its own --out, and `next` treats a missing dir as a fresh run\npython3 -m pip install feedparser openreview-py beautifulsoup4 pymupdf\npython3 \"$SKILL_DIR/scripts/run.py\" check_connectors # from the SAME shell you'll run phases from\n```\n\nCredentials go in `.env` (OpenReview user/pass + Semantic Scholar key — see setup.md); the orchestrator auto-loads it. Optional: `xelatex`/`tectonic` for PDF cards.\n\n---\n\n## How to run: the `next` loop\n\nThe canonical way to drive a run is the **run-state navigator**:\n\n```bash\npython3 \"$SKILL_DIR/scripts/run.py\" next --dir \"$RUN_DIR\" --query \"\"\n```\n\n**Run-dir convention (one run = one directory, named by the host BEFORE the first command):** `$PWD/ideaspark_run/` — a short kebab-case slug distilled from the user's direction (e.g. `ideaspark_run/diffusion-watermark`); if the slug is taken, append `_2`, not a timestamp. NEVER reuse a directory that already contains a `phase0/` — every phase writes into `$RUN_DIR` and would clobber the prior run. The skill itself never names the dir (any absolute path works); this convention exists so runs from different harnesses land in one predictable place instead of each agent improvising.\n\n`next` inspects the artifacts already on disk and prints EXACTLY one next step — either a Bash command to run verbatim, or an LLM sub-agent spec (system-prompt path + input file paths + output path + the routing signal to report back). It is read-only and idempotent (safe to re-run anytime, including to resume an interrupted run) — including on a run dir that does not exist yet, which it reports as a fresh run and answers with the Phase 0 step rather than an error. You never need to create the directory before calling it. The host loop is:\n\n1. Run `next`.\n2. Do what it says (`bash` → run the command; `llm_subagent` → execute in an ISOLATED context per the Context discipline rules below).\n3. Run `next` again. Repeat until it reports a terminal state (`DONE`, `do_not_generate`, or `phase_3_failed`).\n\n**Consume every emit WHOLE — never grep/filter/truncate the block.** INPUT lists span unlabeled continuation lines; a label-keyed grep (`grep -E \"STEP|INPUT|...\"`) silently drops them. This exact failure occurred in a live run: the navigator listed the coherence gate's blocking findings as an audit input, the host's grep dropped the line, and the audit issued a false `advance` without ever seeing the executed evidence. If the emit must be captured into a bounded tool result, `head -c 4000` the WHOLE block — never filter by line labels.\n\n`next` encodes the full phase graph — the mandatory full-text gate, the citation gate, the abandon-retry branch, the falsification re-audit branch, and the correct Phase 4 flags per path — so you do not need to memorize the reference tables below; they exist for deviation and debugging.\n\nIf your host exposes a task/todo tool (e.g., TodoWrite), seed it with this checklist and tick phases as `next` moves past them:\n\n```\n- [ ] Phase 0: Literature grounding → lit_table.md, then Phase 0+ full-text fetch (MANDATORY — Phase 1 hard-gates on it)\n- [ ] Phase 1: Bottleneck identification → phase1_output.json (routing: proceed | do_not_generate)\n- [ ] Phase 2: Gap×pattern selection + candidate generation (ONE isolated context, TWO output files) → citation gate → coherence gate (dry-run trace, fresh context)\n- [ ] Phase 3: Collision retrieval (signature@10mo + alias@48mo — launchable in parallel with 2.3) → audit (5 checks) → [revise → merge → re-audit if falsification rewritten] | [abandon → information-gain retry: regenerate while each failure yields NEW binding lessons, ≤3 candidate cycles; repeated subsumption lesson → 1 bottleneck re-diagnosis + 1 attempt; no new information or cap → phase_3_failed]\n- [ ] Phase 4: skeleton → fill (technical) → assemble partial → derive (plain, fast-tier) → assemble final + method view → implementability audit → validate → render → return 3 cards inline\n```\n\nThree outcomes per run: the rendered idea-card markdown returned inline (LaTeX + per-phase JSON left under `$RUN_DIR`), a `do_not_generate.md` (Phase 1 OOD), or a `phase_3_failed.md` (audit abandons twice). **Never ask the user mid-flow** — missing intake fields are inferred; revision, falsification re-audit, and the single internal retry all run without user re-invocation.\n\n### Invocation contract\n\n**No `cd` is required.** `scripts/run.py` self-locates its skill root, so every orchestrator command can be invoked from ANY working directory by absolute script path: `python3 \"$SKILL_DIR/scripts/run.py\" --out \"$RUN_DIR//\" ...`. The legacy form `cd \"$SKILL_DIR\" && python3 -m scripts.run ...` works identically. Do NOT use relative script or `--out` paths — CWD is not stable across host-LLM Bash invocations, and the orchestrator rejects a relative `--out` outright.\n\n**Exit codes 10 and 11 are NOT errors — they are sentinel handshakes.** When the orchestrator can't call an LLM itself (no `NOVELTY_LLM_CLASSIFY_FAST_CMD`), it writes a sentinel JSON describing what the host LLM should do, then exits rc=10 (intent / pattern-summary) or rc=11 (signature_terms). Read the sentinel (`$RUN_DIR//._pending`), read the file at its `rubric_file` field (absolute path), produce the expected output, re-invoke per its `re_invocation` field. Do not stop on these codes. (The default Phase 0 flow below avoids the rc=10 intent sentinel entirely by passing `--queries` up front.)\n\n### Context discipline (read BEFORE running any LLM-driven phase)\n\nA full run accumulates ~180-250k tokens of intermediate state. If the host LLM carries that in its own conversation context across phases, the Phase 1 / 2.2 / 4.fill calls routinely hit the backend request timeout (`[API Error · Request timed out · Retrying...]`) and the retry times out again. Apply ALL three rules on every run:\n\n**Rule 1 — Run every LLM-driven phase in an ISOLATED context.** Phases 1 / 2 (2.1+2.2) / 2.3 / 3.2 / 3.3 / 4.fill / 4.1.5 each have file-path inputs and one JSON output; no phase needs the conversation that produced an earlier one. Use the FIRST isolation mechanism your harness supports:\n\n- **(a) Subprocess LLM** — set `NOVELTY_LLM_REASONING_LARGE_CMD` / `NOVELTY_LLM_CLASSIFY_FAST_CMD` (see § Configuration); each phase runs as its own subprocess, fresh context by construction, on any harness.\n- **(b) Sub-agent tool** (Claude Code `Agent` or equivalent) — spawn one per phase, passing ONLY the file paths the phase prompt lists — not conversation history, not file contents inline. The sub-agent reads from disk, `Write`s to disk, returns ≤ 250 words (output path + routing signal). Exception by design: Phase 2.1 and 2.2 run in ONE sub-agent writing both output files — both are generation-side; the adversarial separations (3.2 vs 3.3, 4.fill vs 4.1.5) must stay separate calls.\n- **(c) Manual context reset** — run inline but clear/compact at the four points in Rule 3.\n\nWhichever mechanism, the parent context stays ≤ ~30k tokens for the whole run because it never holds a phase's structured output.\n\n**Rule 2 — `Write` every phase artifact directly to disk; never paraphrase it into chat.** Output convention: `$RUN_DIR//_output.json`. Use your harness's file-write tool (Claude Code: `Write`) — no Bash heredocs (permission prompts + silent truncation), no `echo`, no pasting JSON into replies. Bound tool-result captures from large files to ≤ 4 KB (`head -c 4000` / `jq` / `sed`); never `Read` a >10 KB intermediate dump into the parent context — the dump gets cached into every subsequent turn (this exact anti-pattern caused prior timeout runs).\n\n**Rule 3 — Compact between phases.** Natural compact points: after Phase 0+, after Phase 1, after Phase 2, after Phase 3.2. Every phase re-reads its disk inputs, so compacting loses nothing. With `/compact`, use it there; Rule 1 mechanisms (a)/(b) achieve the same on their own.\n\n**Diagnostic for \"Request timed out\" mid-phase:** inspect your harness's session transcript/log (Claude Code: `~/.claude/projects//.jsonl`, look for `isApiErrorMessage: true`; other harnesses: their session-log equivalent); the prior tool call shows which prompt got too big. The fix is one of the three rules — usually Rule 1.\n\n---\n\n## Phase reference\n\n`next` prints each of these steps at the right moment with concrete paths; the tables below are the full contract for deviation/debugging.\n\n### Orchestrator entry points\n\n| Phase | Entry point (`python3 \"$SKILL_DIR/scripts/run.py\" ...`, any CWD) |\n|---|---|\n| navigator | `next --dir \"$RUN_DIR\" [--query \"...\"]` |\n| Phase 0 | `phase0 --query \"\" --queries \"q1\\|q2\\|q3\\|q4\" [--named-papers \"Title A\\|Title B\"] --out $RUN_DIR/phase0/` |\n| user-ref registration (title-named anchor papers; BEFORE phase0_fulltext) | `add_user_ref --out $RUN_DIR/phase0/ --title \"\" [--raw-match \"\"] [--id ]` |\n| relevance partition apply (Phase 0.4; archives off_topic + stamps core/adjacent, BEFORE tagging) | `apply_partition --out $RUN_DIR/phase0/ --partition ` |\n| host-ref resolution (Phase 0.5 coverage check; verifies + merges host-nominated missing papers) | `add_host_refs --out $RUN_DIR/phase0/ --refs ` |\n| Phase 0+ full-text (**mandatory**, the moment lit_table.md lands) | `phase0_fulltext --out $RUN_DIR/phase0/` |\n| Phase 1 anchor top-up (optional, when the #1 closest_adjacent fell outside the fulltext pool **or came back method-thin**) | `phase1_fulltext_topup --out $RUN_DIR/phase0/ --paper-id [--min-method-chars 4000]` |\n| Phase 2 prep (deterministic; `next` emits it with the Phase 2 step) | `phase2_prepare --dir $RUN_DIR` |\n| lit_table shard assembly (deterministic; after parallel pattern tagging) | `lit_table_merge --out $RUN_DIR/phase0/ --shards ...` |\n| Phase 3.1 collision | `phase3_collision --idea-json --out $RUN_DIR/phase3_collision/` |\n| Phase 3.3 merger | `phase3_merge_revisions --phase2 --revisions --critique --out $RUN_DIR/phase3_revise/` |\n| Phase 2.3 merger (same tool; only when coherence verdict=patched) | `phase3_merge_revisions --phase2 --revisions --out $RUN_DIR/phase2_coherence/ --out-name refined_candidate.json` |\n| Phase 4 skeleton | `phase4_skeleton --candidate --phase1 ... --phase2-select ... --phase3-critique ... [--phase3-revise ...] --phase0-dir $RUN_DIR/phase0/ [--collision ...] --out $RUN_DIR/phase4/` |\n| Phase 4 assemble (repeat `--fill-map` to merge the derive_map on the final pass) | `phase4_assemble --skeleton $RUN_DIR/phase4/phase4_skeleton.json --fill-map $RUN_DIR/phase4/fill_map.json [--fill-map $RUN_DIR/phase4/derive_map.json] --out $RUN_DIR/phase4/` |\n| Phase 4 method view (before 4.1.5; `next` bundles it with the final assemble) | `phase4_method_view --expansion $RUN_DIR/phase4/phase4_expansion.json --out $RUN_DIR/phase4/` |\n| Phase 4 render | `phase4_render --expansion $RUN_DIR/phase4/phase4_expansion.json --out $RUN_DIR/phase4/` |\n| Validators | `validate --phase2 ... [--phase3 ...] [--phase4 ...] [--phase4-impl ...]` |\n\nThe LLM-driven phases (1 / 2.1 / 2.2 / 2.3 / 3.2 / 3.3 / 4.fill / 4.1.5 / falsification re-audit) have no orchestrator subcommand (a `cat prompt | llm` wrapper would add fragility without determinism): read the prompt at `references/system-prompts/.txt`, gather the inputs listed at its top, `Write` the JSON described under `Output:` to `$RUN_DIR//_output.json`. Run each under the Context discipline rules — Phase 4.fill is the largest output and the most timeout-prone; never in the parent context.\n\n### Phase 0 — Literature grounding\n\nPhase 0 and 3.1 require **real external retrieval** via the bundled connector scripts (`scripts/search_*.py`) — never WebSearch or ad-hoc fetch (downstream phases reject unstructured output). Gate sentinel: `.lit_grounding_mode` = `real` vs `connector_failure` (halt with diagnostic; `--allow-webfallback` exists as a flagged, lower-confidence escape).\n\n**Default flow (skips one sentinel round-trip):** BEFORE invoking `phase0`, read `references/intent-recognition.md` (Map mode) yourself and produce **4** search queries (3-5 only with a stated reason) — including one ESCAPE-MECHANISM query phrased in solution vocabulary (recalls papers that already fixed the bottleneck and title themselves by their fix; problem-keyed queries miss exactly those), and apply that file's two query tests — VOCABULARY-OWNERSHIP and CONCRETE-OBJECT — to EVERY query, not only the escape one; its count rule gates a 5th query on quality per slot, not on the count. Phrase queries mechanism-first: generic \"`` challenges/overview/landscape\" phrasings are survey magnets that dilute corpus density — the orchestrator demotes survey-titled hits to the bottom of lit_results (kept, never dropped), but each connector's cap slots are still spent on them. Also apply the OOD short-circuit (intake-routing.md triggers #1 Too-broad / #2 No-anchor → route to do_not_generate instead of retrieving). Then invoke with BOTH flags:\n\n```bash\npython3 \"$SKILL_DIR/scripts/run.py\" phase0 --query \"\" --queries \"q1|q2|q3|q4\" --out $RUN_DIR/phase0/\n```\n\nThe rc=10 sentinel path still exists as fallback when `--queries` is omitted. The orchestrator: asserts a sane clock; runs a list of retrieval JOBS (a connector may run more than one window) and merges them SS-priority. Default jobs: arxiv 0-6mo cap 40 · **ss_recent 0-6mo cap 30** (the freshness window is covered by TWO engines — arXiv's weak lexical API AND SS's stronger recent search — because gap freshness lives here and one retriever's ranking is a single point of failure) · openalex 6-24mo cap 30 published-only · semanticscholar 6-24mo cap 30 published-only · openreview 0-6mo cap 10 in-review · oa_recent 0-6mo **cap 0 (off by default)**. Caps are **wide on purpose** — narrower ones saturated, and the Phase 0.4 partition (below) drops the extra noise before it reaches the gap corpus (design-notes). ~140 pre-dedup, ~110-130 after dedup, ~50-75 after the partition drops off_topic. Window OVERLAP is intentional now (a second engine re-covers the freshness window; SS-first dedup collapses duplicates and enriches arXiv records with externalIds) — the old non-overlapping rule is retired. All caps are overridable per job via `IDEASPARK_POOL` (see § Configuration). Pass `--named-papers` whenever the query name-drops a paper or system without a link: the URL/ID regex only sees links, so a bare name is otherwise invisible to the U fetch tier and never becomes an anchor the candidate is differentiated against (add one later with `add_user_ref`). Each name is resolved against the connectors by CONTAINMENT — the paper's title must lead with the name, since a user writes the nickname and not the title — and a name two papers lead with is reported AMBIGUOUS and left unresolved rather than guessed, because a wrong U-tier entry is uncapped, always deep-read and becomes an anchor. Pass that one as a URL instead. It writes the user's question verbatim to `phase0/user_query.txt` — the 0.4 partition, the 0.5 coverage check, Phase 1 and Phase 2.1 are all pointed at that FILE rather than at a string the host retypes, so a paraphrase cannot silently propagate and a compacted run can still recover what was asked. It also extracts URL/ID user-refs from the query into `phase0/user_refs.json`; emits `.pattern_summary_pending` for the host.\n\n**Phase 0.4 relevance partition (host precision gate; DEFAULT ON, disable with `IDEASPARK_RELEVANCE_PARTITION=off`):** because retrieval now over-fetches, the host — in ONE compact pass over every record's title+abstract — labels each `core | adjacent | off_topic`, writing `phase0/relevance_partition.json` `[{paper_id, relevance, reason}]`. Use YOUR OWN model (open-ended relevance judgment — do NOT downgrade); be CONSERVATIVE — when unsure between core and adjacent pick core, hard-label off_topic ONLY for clear cross-domain false positives (broad \"memory-augmented\" matches from wireless/recommendation/NLP), pure surveys, or unrelated fields (a wrong off_topic is an unrecoverable recall loss). Then `apply_partition --out phase0/ --partition ` (deterministic) stamps `relevance` on each record, **archives off_topic to `off_topic.md` and drops it from `lit_results.json`**, and touches `.partition_applied`, and writes **`query_yield.md`** — the Phase 0.4 labels joined back onto the `from_query` provenance the connectors stamp, i.e. each query's core/adjacent/off_topic yield. That report is how the query-set design question stops being a judgement call: a query whose share is mostly off_topic is spending guaranteed round-robin slots on noise and should be dropped or rephrased next run (see the VOCABULARY-OWNERSHIP TEST in references/intent-recognition.md). Papers reachable from several queries are credited to each. This runs BEFORE tagging so the per-paper pattern-tag pass only sees survivors, and it **replaces the weak Haiku `outside_taxonomy` tag** as the precision gate. `core` alone feeds the deep-read pool; `adjacent` stays as a citeable baseline/backbone but never consumes a fetch slot. `next` drives the sub-flow; the marker guards re-runs.\n\nRetrieval takes 3-10 min (the openreview connector alone budgets 600s) — set your Bash timeout ≥ 600s or run it in the background.\n\n**Pattern tagging (host step):** classify each `lit_results.json` paper per `references/pattern-summary-rubric.md` into 1-3 of the 15 patterns → write `lit_table.md` with columns `paper_id | year_month | venue | title | ideation pattern tags | bottleneck this paper targets | open issue / unresolved gap | resolves_problem | retrieved_via`. Pure classification — it does not need the large reasoning model: route it to a cheaper/faster model tier or a lower reasoning effort BY DEFAULT (the same tier `NOVELTY_LLM_CLASSIFY_FAST_CMD` names in § Configuration; spending the large model here is pure waste); only when no cheaper tier exists, run it isolated on the host model. Rows are per-paper independent, so for 40+ papers the tagging MAY be sharded across 2-3 parallel fast-tier sub-agents (contiguous slices; assemble with the deterministic `lit_table_merge --out $RUN_DIR/phase0/ --shards ...` — it validates 9-column shape, row count == paper count, and paper_id coverage against lit_results.json, replacing hand-checks) — wall-clock win, no quality delta.\n\n**Phase 0.5 coverage check (host-recall channel, host step; DEFAULT ON, disable with `IDEASPARK_COVERAGE_CHECK=off`):** after tagging, before fulltext, the host — having read the whole table — names up to 8 clearly load-bearing works the retrieval pool MISSED, writing `phase0/host_refs_nominations.json` `[{title, id_hint?, why, source: parametric|websearch}]`. It PRIORITIZES the last ~12 months (recent/frontier work the dated retrieval windows under-sampled — the target that keeps the diagnosed gap current); older foundational papers (canonical base policies, >12-month landmarks) are mostly Phase 1 lineage's job and should be nominated only as a small minority, and only when a load-bearing backbone/baseline the candidate builds on or is measured against. Use YOUR OWN model here (open-ended intent judgment — do NOT downgrade to a cheap tier); WebSearch is allowed ONLY in this step and ONLY to find titles, never to fabricate a record; an empty `[]` is a valid honest output. Then `add_host_refs --out phase0/ --refs ` (deterministic) VERIFIES each nomination via the SS/arXiv connectors (>=0.9 title match) — verified records merge into `lit_results.json` with `retrieved_via=host_recall|host_web`; unresolvable titles (likely hallucinations) are NOT admitted, they land in `host_refs_unresolved.md`; admitted ids are recorded in `host_refs.json` for provenance. Newly-admitted rows get tagged (fast tier) and `lit_table_merge`d in; `.coverage_check_done` guards against re-running. This keeps `lit_grounding_mode` honestly `real` (every record is connector-verified) while letting host knowledge repair a thin or stale pool. `next` drives the whole sub-flow. Admitted refs feed the fulltext H tier (below).\n\n**Title-named user refs:** if the user query names anchor papers by TITLE (\"based on the LoRA paper\" — anything the URL/ID regex can't catch), register each BEFORE `phase0_fulltext` via `add_user_ref` (entry-point table). It does a deterministic dedup-merge into `user_refs.json` — do NOT hand-edit that file (some harnesses' file-write tools refuse to overwrite a file that was never read, and a malformed edit silently drops the U fetch tier).\n\n**Phase 0+ full-text fetch — MANDATORY.** The instant `lit_table.md` lands (and after the coverage check), run `phase0_fulltext` (entry-point table) before touching Phase 1. Pool = U (user refs, never capped) + **H (host-recall refs, retrieved_via host_*, cap 6)** + T2 (published on-topic, cap 10) + T3 (arxiv recent on-topic, cap 15; also absorbs unused H/T2 slots), ceiling **25** excluding U, method-first ordering, concurrent fetch (HTML path first, pymupdf PDF fallback; per-paper budget so one slow PDF can't stall the step). **Only `core`-tagged papers are eligible** (Phase 0.4 relevance stamp; U bypasses, H needs its nomination tagged core) — `adjacent` papers stay citeable at abstract level but never consume a deep-read slot. Any pooled paper that fetches to an **empty method section is backfilled** — swapped for the next-ranked core reserve that has one (one-out-one-in, ceiling held; `--backfill` reserve size, default 6). Output `fulltext_cache.json` keyed by paper_id (`{tier, intro, method, source_used, warning}`); fetch failures degrade to abstract + warning. Phase 1 **hard-gates** on this file (`error: fulltext_not_fetched`). Alongside the blob it writes a derived per-paper read view (`phase0/fulltext/index.json` + one `.md` per paper, same content, index carries tier/source_used/warning) — Phase 1 reads the index then only the papers it needs; the blob stays canonical and `phase1_fulltext_topup` refreshes both. Fetches hit a cross-run content cache (`~/.cache/ideaspark/fulltext/`, successful fetches only, 30-day TTL; disable with `IDEASPARK_FETCH_CACHE=off`), so papers recurring across runs on adjacent topics cost zero network time.\n\n### Phase 1 — Bottleneck identification\n\nOne isolated LLM call. Prompt: [references/system-prompts/bottleneck_identify.txt](references/system-prompts/bottleneck_identify.txt). Inputs: user query + intake, `phase0/lit_table.md`, `phase0/fulltext_cache.json` (all-failed cache → continue with `fulltext_degraded: true`, abstract-level residue confidence), `phase0/lit_results.json`. Output `phase1/phase1_output.json`: `intake` (+`_inferred_fields[]` — missing fields are inferred, never asked), `bottleneck_statement` (≥2 paper_id cited inline), `closest_adjacent[]` (`{paper_id, summary_and_residue}`), `what_phase_0_did_not_address[]` (each gap ends with an inline stakes clause — practitioner costs and intellectual costs are coequal; gaps are framed as structural properties of a problem class when honestly true, with the anchor as primary instance, else declared class-of-one), `state ∈ {proceed, do_not_generate}`.\n\nRouting: **proceed** (literature-groundable, no OOD trigger) or **do_not_generate** (too-broad / no-anchor OOD, <5 truly-relevant papers, genuinely blank space, or benchmark/system construction) → write `do_not_generate.md` with concrete remedial steps — terminal.\n\n### Phase 2 — Selection + generation (ONE isolated context, TWO outputs)\n\nRun 2.1 and 2.2 back-to-back in one isolated context, writing BOTH output files (they are both generation-side; only adversarial pairs need separate calls):\n\n**2.1** — prompt [references/system-prompts/ideate_select.txt](references/system-prompts/ideate_select.txt); inputs `phase1_output.json`, `references/ideation-patterns/overview.md` (all 15 patterns' Definition / Operational signature / When to apply — selection at WHAT/WHEN level), `references/ideation-patterns/companion-combos.md`, `lit_table.md`. Pick the anchor gap (type-bound to `intake.contribution_type`); commit the PATTERN COMPOSITION — ≥2 distinct patterns by default, realized preferentially as a CHAIN on the anchor (attested second pattern from companion-combos, with a named intermediate object) and/or via a sibling that EARNS its seat through the removal test (\"the anchor's story is incomplete without it\") — anchor-only is legitimate and common (1-3 gaps total, ≤2 siblings); a single-pattern selection requires a `composition_note` defense (validator presence-checks it; audit weighs it). Record saturation (transparency, not a filter). Output `phase2_select/phase2_select_output.json`: `selected_gaps[]` (index 0 = anchor) + `coherence_thread_type` (or `n_a` when anchor-only) + `composition_note` + `pattern_saturation` + `deferred_gaps[]`. **Retry mode:** when `$RUN_DIR/attempt_1/` exists, the prompt's OPTIONAL retry input applies — the archived audit + selection become negative constraints; anchor-only is a valid retry outcome. **Cross-run dedup:** `next` scans sibling run dirs and appends a soft-negative-anchor input line (titles + signature terms of their canonical candidates, 5 most recent) so adjacent-direction runs don't silently re-invent the same mechanism family; soft by design (see ideate_select.txt's OPTIONAL cross-run input), disable with `IDEASPARK_CROSS_RUN_DEDUP=off`.\n\n**2.2** — prompt [references/system-prompts/ideate_generate.txt](references/system-prompts/ideate_generate.txt); inputs 2.1 output, `phase1_output.json`, `lit_results.json` (closest_adjacent entries ONLY — filter to those paper_ids before reading; the prompt forbids pulling the full dump into context), plus for each gap ONE picked sub-pattern card from `references/ideation-sub-patterns/` (compare `when_to_pick_this_one` + `differentiation_within_parent` via its overview.md; then read the picked card's `tactical_pattern` + Step-by-Step). Output `phase2_generate/phase2_generate_output.json` — ONE candidate, 12 flat fields: `title` / `hook` / `core_mechanism` / `core_mechanism_reasoning` / `core_mechanism_steps`; `gap_closure[]` (`{gap, main_pattern, sub_pattern: \"C## (parent pattern name)\", how_closed}`, mirrors selected_gaps one-for-one); `falsification_prediction` (single paragraph: minimal experiment + metric-with-direction + ONE named load-bearing variable + negative control on that variable predicting the DOWNSTREAM outcome metric returns to baseline — non-tautological); `compute_budget` (user-relative, GPU-day line + API-dollar line when the campaign calls paid APIs; default intake envelope = 80GB-class GPUs, ≤8 concurrent, ≈150 GPU-days / 5 months, ~$10k API — overridable per user via `IDEASPARK_DEFAULT_COMPUTE`, see § Configuration); `differentiation_from_lit[]` (substantive deltas, not \"different pattern\"); `almost_prior_paper_id` + `what_step_was_missed`; `signature_terms[]` (own vocabulary — recent collision channel); `alias_terms[]` (other communities' names for the same mechanism, from parametric knowledge — multi-year alias collision channel); `composition_note` (echoed verbatim from 2.1). Reality constraints at writing time: `core_mechanism_reasoning` carries three mandatory blocks — a PREMISES ledger (load-bearing premises + domain justification; bets tagged `untested — falsification target`; WHEN the mechanism consumes sampled/observed data, at least one OBSERVATION-MODEL premise — how are the inputs sampled, is that unbiased here — else the literal `observation-model: n/a`; WHEN the mechanism estimates any quantity, declare the ESTIMAND precisely), a NAIVE-BASELINE AUDIT (state the naive version; why doesn't it already work — branch (i) naive relies on a false premise → confronting it IS the contribution, with a STANDARD-TOOL FOLLOW-UP: if the confrontation is a textbook tool from another field, name the domain-specific structure that makes this instance unsolved or declare the contribution application-grade, (ii) naive suffices → incremental signal surfaced honestly, (iii) naive works but the field disbelieves → minimalism with evidence), then design rationale — plus every invoked dataset / model-access level / annotation / tool must be a nameable EXISTING artifact (hard rule 3; modest self-built resources allowed with cost counted in compute_budget) and every claim stated at its defensible strength — guarantee-grade wording only with assumptions stated where it appears (hard rule 4; the coherence gate grades this, and a strong claim with honest assumptions beats a hedged weak one) — and every NUMBER carrying provenance (hard rule 5): method parameters are named symbols with a default + selection rule (a bare `>= 95%` / `top 5` / `every 2e3` is forbidden — an unnamed quantity cannot be swept or graded), while `falsification_prediction` states metric + direction + control and may carry a numeric bar ONLY when tagged `derived:` or `measured in `; invented bars are fabrication. Artifact versions, algebraic constants, definitional settings and experiment-scale counts are not parameters and are unaffected. Both kill-switch fields (`falsification_prediction`, `compute_budget`) are locked from here on — see Phase 3 for the single audited exception.\n\n**Citation gate (deterministic, MANDATORY before Phase 3):**\n\n```bash\npython3 \"$SKILL_DIR/scripts/run.py\" validate --phase2 $RUN_DIR/phase2_generate/phase2_generate_output.json\n```\n\nAny `fail` = a `sub_pattern` citation was guessed from the parent's gist, not read from `overview.md`. Fix against `references/ideation-sub-patterns/overview.md` (or regenerate 2.2 with the card open) and re-run until clean — the gate proves parent-consistency only; whether core_mechanism performs the cluster's actual tactic is Phase 3.2's `recipe_application_check`. (`next` runs this gate automatically.)\n\n**Coherence gate (2.3 — one isolated LLM call, MANDATORY after the citation gate, before the 3.2 audit; 3.1 collision may run CONCURRENTLY with it):** prompt [references/system-prompts/coherence_trace.txt](references/system-prompts/coherence_trace.txt); inputs: the 2.2 candidate + the 2.1 spec; MUST be a FRESH context, never the 2.1+2.2 agent (the context that wrote a logic bug rubber-stamps it). It verifies internal procedural validity by EXECUTION, not review — five trace actions: formalize the dataflow (undefined symbols, missing producers, circular deps, and UNBOUND PARAMETERS — a number the procedure reads as a parameter but that carries no name/default/selection rule, the form a magic constant takes to evade every symbol-keyed check; method fields only, `falsification_prediction` numbers belong to the audit), numeric dry-run on one small concrete instance (magnitude/probability absurdities — logic bugs read fluently and only surface when computed; when a code-execution tool exists the gate WRITES AND RUNS a stdlib Python script and pastes script+output, else hand-computes marked `unexecuted`), degenerate probes (empty/k=0/ties), claim→step mapping AND grading (every asserted property mapped to the step that establishes it AND graded `established` / `conditional` — assumptions listed / `overclaim` — wording downgraded / `empirical`; statistical claims settled by an executed Monte Carlo with the measured number, theorem-shaped claims recorded as proof obligations — at best conditional; grading never rewards vagueness: all-hedged claims are themselves a weakness finding), and a NAIVE-BASELINE COMPARISON (independently construct the naive version — never the candidate's own stated one — run it on the same instance, and judge against the candidate's declared branch: `confronts_obstacle` / `equivalent_to_naive` / `n_a`). OBSTACLE HOLES — findings whose honest fix is a redesign, or which coincide with the obstacle the candidate declares it exists to solve (incl. `equivalent_to_naive`) — must NOT be patched around with avoidance-style repairs (abstain/clamp/skip); they go to `unrepaired[]` as blocking, verbatim. Verdict `pass` | `patched`; repairs are patch-only via the SAME merger (`--out-name refined_candidate.json`), scoped to making the written procedure sound (core_mechanism*, how_closed narrative, signature/alias terms when the repair changed what the mechanism is) — novelty surface, pattern bindings, and kill-switch fields are out of scope; unfixable-without-redesign findings go to `unrepaired[]` for the audit to weigh. Single pass, never abandons. The 3.2 audit stays blind to this report's trace/verdict/patches — with ONE exception: blocking `unrepaired[]` entries are executed evidence, so the gate ALSO writes them to `phase2_coherence/blocking_findings.json` (self-contained: verbatim step quote + script excerpt + measured numbers + reading_dependence + `structural_requirement` per entry — what it would TAKE to pass this obstacle: the identifying condition any mechanism here needs, which sources of it are available vs excluded and why, and what is worth salvaging; diagnosis, not the redesign the repair contract forbids, and honestly empty when the evidence supports nothing concrete — `next` passes it to the retry as a directive), which `next` lists as a 3.2 input; the audit must disposition each (uphold, or refute by naming a concrete modeling/arithmetic flaw — `next` deterministically bounces an audit report that skipped dispositions or advanced over an upheld finding). Formalization ambiguity is controlled by the gate's dual-reading protocol (every defensible reading of an ambiguous operative term is executed; findings are tagged reading_robust vs reading_dependent). When `refined_candidate.json` exists it is the canonical candidate for every later phase (`next` wires this automatically). It validates that the algorithm survives on paper — NOT that it works empirically (falsification experiment) or is novel (audit).\n\n### Phase 3 — Quality gauntlet\n\n**3.1 collision (orchestrator, no LLM):** entry-point table. May be LAUNCHED IN PARALLEL with the 2.3 gate (on the 2.2 output — `next` emits the background launch alongside the 2.3 step): collision reads only `signature_terms[]`/`alias_terms[]`, a `.collision_terms.json` sidecar records the terms actually used, and `next` re-issues collision if a coherence patch changed those terms (rare — term repairs are scoped to mechanism-changing patches). TWO retrieval channels over all 4 connectors, merged into `collision_hits.json` with a per-hit `collision_channel` tag: **signature** — the candidate's `signature_terms[]` over a 10-month window (contemporaneous scoop risk); **alias** — the candidate's `alias_terms[]` (other communities' names for the same mechanism, produced from parametric knowledge at 2.2) over a 48-month window (renamed-ancestor risk — the \"goal-conditioned success detector vs goal-image conditioned scorer\" blind spot is lexical, not temporal, so widening the signature window alone cannot catch it). Missing `signature_terms[]` → rc=11 sentinel: produce BOTH term sets per intent-recognition.md Collision mode (terms 3-7 words each — long sentences break URL encoding), edit the candidate JSON, re-invoke. Missing only `alias_terms[]` → loud warning, alias channel skipped (add the field and re-run to close the blind spot). The audit-facing pool is relevance-truncated per channel (≤120 hits/channel by lexical overlap with the channel's own terms; zero-relevance BM25 noise dropped unconditionally; drops printed; untruncated pool preserved as `collision_hits.full.json`), so the audit can consume `collision_hits.json` in a few sequential Read chunks — no jq two-pass triage needed.\n\n**3.2 audit (one isolated LLM call):** prompt [references/system-prompts/critique.txt](references/system-prompts/critique.txt); inputs: candidate, 2.1 spec, `lit_table.md`, `collision_hits.json`, `references/anti-patterns.md`, `phase2_coherence/blocking_findings.json` when it exists (the 2.3 gate's executed blocking evidence — the report must disposition each entry, and advance is forbidden while one is upheld; a `refuted` disposition additionally triggers a bounded refutation re-check (`refutation_recheck.txt`, fresh call) that `next` requires before trusting the verdict — an invalid refutation counts as upheld and bounces the audit), and each cited sub-pattern card `references/ideation-sub-patterns/.md` (strip the leading code from `sub_pattern`; typically 1-3 cards, others NOT loaded). Five corpus-anchored checks:\n\n| Check | Question |\n|---|---|\n| gap_closure_reject_check | does the candidate match a documented Reject lesson in each cited sub-pattern card (`## Tactical failure mode` + ALL `### Reject lessons` bullets)? |\n| recipe_application_check | does `core_mechanism` actually perform the cited C## cluster's `## Tactical pattern` signature move, or only the parent's generic idea (`bypassed` — the leading cause of incremental output)? |\n| anti_pattern_check | if the SET of `gap_closure[].main_pattern` matches a reject-favored composition, is the required mitigation substantively delivered (artifact, not keyword)? |\n| paper_pointed_threat | most specific subsuming/competing paper in `lit_table ∪ collision_hits` (both channels; alias-channel threats are NOT discounted for age); `no_threat_found` is valid — fabricating a generic threat is forbidden. Side output `parametric_family_concern`: a named un-retrieved mechanism family from parametric knowledge (family name + query vocabulary, never specific paper cites) — soft signal only, flows to Phase 4 reviewer_concerns as a \"scoop-check X first\" flag |\n| falsification_structure_check | does `falsification_prediction` name the minimal experiment, the outcome metric + direction, ONE load-bearing variable, and a NON-tautological negative control targeting the downstream metric — and is every numeric outcome bar sourced (`numeric_bar_provenance` ∈ none / derived / measured / asserted / invented — cost bars count, qualitative magnitude claims and design/scale/conditioning numbers do not; `invented` is a deficiency repaired by STRIKING the bar, which the contract states is a fabrication repair rather than a claim weakening, while `asserted` — a derivation claimed but left uncheckable — only routes to borderline, so a judgment call never forces a kill-switch edit)? |\n\nVerdict is two-layer. **Hard floor** (LLM cannot override) → `abandon`: triggered Reject lesson / unmitigatable anti-pattern / exact-mechanism collision. **Soft judgment** otherwise → `advance` (only trivial borderlines; concerns surface in Phase 4's reviewer_concerns) or `revise` with concrete `revision_targets[]` (scopes: `tactical` / `sub_pattern` / `falsification`). `verdict_rationale` must cite specific check findings. The audit judges only — it never modifies the candidate.\n\n**Routing on verdict:**\n\n- **advance** → Phase 4 reads the 2.2 candidate directly.\n- **revise** → **3.3** (one isolated LLM call, prompt [references/system-prompts/revise.txt](references/system-prompts/revise.txt)): reads candidate + 2.1 spec + the revision brief (`phase3_revise_brief` — `next` materializes `revise_brief.json`, the audit minus the bulky reject-lesson quotations; full report stays on disk for lesson-specific lookups); emits patch-only `applied_revisions[]` — one entry per revision_target, ops `replace` / `append_sentence` / `append_items` / `swap_sub_pattern` / `rewrite_falsification`, never echoes the candidate, never re-judges the verdict. Then run the **merger** (entry-point table, WITH `--critique`) → writes `phase3_revise/final_candidate.json` + back-injects it into the patch file. Kill-switch fields are merger-refused with ONE audited exception: a `scope=falsification` target from `falsification_structure_check` is applied via the dedicated `rewrite_falsification` op (authorization verified against the audit report via `--critique`; same experiment/metric/claim, structure repaired; max one per run). When the merger prints `falsification_rewritten`, run the **falsification re-audit** (self-contained prompt [references/system-prompts/falsification_reaudit.txt](references/system-prompts/falsification_reaudit.txt), reading the `phase3_falsification_view` slice of `final_candidate.json` → `phase3_critique/falsification_reaudit.json`): `advance` → Phase 4; `abandon` → `phase_3_failed.md`. `compute_budget` has no revision route under any scope. No `composition` scope — gap-level changes route through the abandon-retry below, never through patches.\n- **abandon** → **information-gain retry rule** (ONE rule, no death-type taxonomy; the one-shot guarantee bars asking the user, not internal regeneration). Every failed attempt's audit is reduced to a LESSON SET — upheld executed blocking findings (mechanism-level positive directives), unaddressable subsuming papers (mechanism-family negative anchors), triggered reject/anti-pattern/recipe lessons (generation-quality constraints). A retry must carry NEW lessons the previous generation did not have: the first abandon always retries (generation ran with zero audit information); a later abandon retries only if its lesson set adds entries beyond the union of all archived attempts' lessons, with the new lessons injected as directives. A REPEATED unaddressable-subsumption lesson across attempts binds at the FRAMING level instead → one bottleneck re-diagnosis (Phase 1 retry mode; `do_not_generate` remains a legitimate exit), whose new framing gets exactly ONE candidate attempt. Termination: no new lessons, or the candidate-cycle cap (3 per framing; worst case 4 gauntlet cycles per run). `next` computes all of this deterministically from the archived critique reports. On the first abandon, archive the attempt and regenerate —\n\n ```bash\n mkdir -p \"$RUN_DIR/attempt_1\" && \\\n mv \"$RUN_DIR/phase2_select\" \"$RUN_DIR/phase2_generate\" \"$RUN_DIR/phase2_coherence\" \"$RUN_DIR/phase3_collision\" \\\n \"$RUN_DIR/phase3_critique\" \"$RUN_DIR/phase3_revise\" \"$RUN_DIR/attempt_1/\" 2>/dev/null; \\\n touch \"$RUN_DIR/.retry_used\"\n ```\n\n then re-run Phase 2 in retry mode (archived audit + selection = negative constraints; blocking obstacle findings = POSITIVE directives the new mechanism must confront), citation gate, 3.1, 3.2. Phase 0/1 artifacts are reused as-is.\n\n **Later `abandon`s → the same rule, deterministically** (`next` compares this attempt's lesson set against the union over `attempt_N/` archives): new mechanism-level lessons → directed retry to the next `attempt_N` (all archived audits + selections ride along as constraints; the fresh lessons are named in the emit); repeated subsumption lesson → bottleneck re-diagnosis (archive incl. `phase1/`, touch `.bottleneck_retry_used`; the re-diagnosed framing gets ONE attempt); no new lessons / cap reached / post-bottleneck failure → write `phase_3_failed.md` citing EVERY attempt's verdict_rationale + triggering checks + user-side options — terminal.\n\n### Phase 4 — Expansion + packaging\n\nSix steps in order (`next` emits each with the correct flags for the advance vs revise path — on the revise path `--candidate` is `final_candidate.json` and `--phase3-revise` is passed; on advance it's the CANONICAL candidate (refined_candidate.json when 2.3 patched, else the 2.2 output) and the flag is omitted):\n\n1. **skeleton** (orchestrator): populates every mechanical field — kill-switch echoes (byte-identical from the candidate), `differentiation_from_lit` venue_years, `almost_prior_venue_year`, `why_prior_stopped[].paper_id/venue_year`, `domain_landscape` (pattern_distribution + candidate_uses), `literature_breakdown`, `reviewer_concerns_and_responses[].attack/severity/fields_changed_to_address` (lifted from audit + patch), `feasibility_validation.compute` (bucketed against `intake.compute`) — and marks every prose field ``.\n2. **fill** (one isolated LLM call, prompt [references/system-prompts/expand.txt](references/system-prompts/expand.txt)): author the TECHNICAL TODO paths as one flat `{path: value}` map → `phase4/fill_map.json`. The derive-owned paths (`title_zh` + all `plain_*`) are explicitly EXCLUDED — the derive step owns them. No calendar projections; no experiment matrix / ablation plan / baseline table — the skill produces IDEA + falsifiability + feasibility judgment, not experimental engineering.\n3. **assemble (partial) → derive → assemble (final)**: the orchestrator assembles the technical map first (`phase4_expansion.json`, derive-owned placeholders remain — the WARN is expected); then **derive** (one isolated LLM call, prompt [references/system-prompts/derive_plain.txt](references/system-prompts/derive_plain.txt)) mechanically rewrites the finished technical fields into the plain register (`title_zh` + `plain_*` → `phase4/derive_map.json`) — register transformation + translation with NO new facts, so it runs on the CLASSIFY_FAST tier by default (fallback ladder: `NOVELTY_LLM_CLASSIFY_FAST_CMD` → host cheap model → host model isolated; even the last rung keeps it cheap since the input is only the finished prose); then the final assemble merges both maps (`phase4_assemble --fill-map --fill-map ` — overlapping paths are a hard error) and extracts `phase4/method_view.json` (`phase4_method_view` — the method-only slice the 4.1.5 audit reads: method_flow + plain steps + key_equations + claims). The assembler validates every path resolves to a real TODO and refuses kill-switch roots per map.\n4. **implementability audit (4.1.5, one isolated LLM call, default on):** prompt [references/system-prompts/implementability_audit.txt](references/system-prompts/implementability_audit.txt) — fresh skeptical-engineer persona (separate from the 4.fill author) reads `method_view.json` (fallback: the full expansion) and rewrites each method step into a buildable spec: `enriched_steps[]` (one per step, same ids/order, `what_changes` + `what_to_do_en` + `what_to_do_zh`) + `underspecified_points[]` (`{step_id, hole, fill, severity: filled|open}` — unfillable holes stay honest as `open`). Compute-agnostic by design (resource feasibility is 4.1's job); never adds/removes/renames steps; never carries kill-switch fields. Output `phase4/phase4_implementability.json`.\n5. **validate + render:** run the validators (below), then `phase4_render` — templating only, no model call; auto-detects the sibling implementability file and merges `enriched_steps` by step_id into the rendered Method (deterministic; no-op when absent). Writes `idea.std.zh.md` (plain Chinese, domain-newcomer register) + `idea.std.en.md` (plain English) + `idea.detail.en.md` (rigorous English — the novelty + validity defense) + `idea.std.{en,zh}.tex` (auto-compiled to PDF when xelatex/tectonic is on PATH; skipped with a hint otherwise).\n\n**Final response:** read all three markdown cards and return them inline under headings 中文版 / English / Reviewer version. Other phase outputs stay on disk for inspection, not echoed.\n\n## Validators\n\n```bash\n# advance path: --phase3 = phase3_critique_output.json; revise path: --phase3 = phase3_revise_output.json\n# --phase2 = the CANONICAL candidate (refined_candidate.json when 2.3 patched, else the 2.2 output)\npython3 \"$SKILL_DIR/scripts/run.py\" validate \\\n --phase1 $RUN_DIR/phase1/phase1_output.json \\\n --phase2-select $RUN_DIR/phase2_select/phase2_select_output.json \\\n --phase2 \\\n --phase3 \\\n --phase4 $RUN_DIR/phase4/phase4_expansion.json \\\n --phase4-impl $RUN_DIR/phase4/phase4_implementability.json # optional; enables implementability checks\n```\n\n| Validator | Check | Severity |\n|---|---|---|\n| **subpattern_citation_consistency** | each `gap_closure[].sub_pattern` resolves to a real C## cluster in overview.md whose true parent == the cited `main_pattern` and whose parenthetical == that cluster's parent display name. Primary use: the Phase 2.2 citation gate; re-runs harmlessly here. | fail (hard) |\n| **alias_collateral_coverage** | `alias_terms[]` actually queries the cross-community families Phase 1 pinned as `is_collateral` nodes in `method_lineage`. Needs BOTH phase1 and phase2 paths. Runs in the Phase 2.2 citation gate — i.e. BEFORE 3.1 collision, which consumes `alias_terms[]` verbatim, so a miss caught later is a wasted retrieval budget. Zero coverage = fail; partial = warn naming the unqueried families (a family can be genuinely unreachable, and a forced fabricated term would evict real ones from a channel that truncates by lexical relevance — `composition_note` carries the skip defense, the 3.2 audit weighs it). | fail (zero) / warn (partial) |\n| **kill_switch_integrity** | `falsification_prediction` + `compute_budget` byte-identical along Phase 2.2 → [3.3 final_candidate →] 4. After an audited falsification rewrite (`falsification_rewritten` marker + matching applied `rewrite_falsification` entry — disagreement fails), the anchor for `falsification_prediction` re-bases at the 3.3 final_candidate (3.3 → 4 must match); `compute_budget` stays full-chain always. | fail (hard) |\n| **expansion_completeness** | motivation (≥2 `why_prior_stopped`), `method_flow.steps[]` (each with `linked_component` + `linked_falsification`), `feasibility_validation` (5 sub-verdicts + `overall`), non-empty `abstract_draft` + `core_claim` + `sub_claims[]` — missing sections would render as silent blanks. | fail (hard) |\n| **implementability_completeness** | `enriched_steps[]` one-per-step (same ids/order, EN+ZH), `underspecified_points[]` present (`[]` allowed), NO kill-switch field in the file. | fail (hard) |\n| **user_direction** | when `intake.user_direction` is set, `phase2_select` must carry a `user_direction_disposition` (adopted/departed, `why_departed` required on departed), and both quoted spans must appear in `phase0/user_query.txt`. Hard rule 10 keeps a user-named solution OUT of gap selection on purpose; this only forbids dropping it silently. | fail (hard) |\n| **chinese_word_order** | no `_zh` field puts more than 18 characters in front of 的 without a break (an English relative clause left in pre-nominal position — the reader cannot tell what is being described until the end), and no known calque (`保留任务` for held-out, `两个位` for the two bits). | warn |\n| **implementability_readability** | std-register fields: no `占位`/`placeholder` leak, no bare English jargon dropped into Chinese prose. | warn |\n\n**Retry budget on `fail` (cap = 2).** Fix only the named contract, re-validate; still failing after the 2nd retry → stop revising, render as-is, and append a short note listing the failing validators (a flagged-imperfect card beats a watchdog-killed run with zero output). Never \"fix\" `kill_switch_integrity` or `subpattern_citation_consistency` by editing a guarded field — surface them as the headline caveat instead.\n\n## Configuration\n\nBy default every model-driven phase runs on the host LLM. To route phases to a different backend (Gemini, open-weights, custom):\n\n- `NOVELTY_LLM_REASONING_LARGE_CMD` — Phase 1 / 2.1 / 2.2 / 3.2 / 3.3 / 4.fill (needs ≥ 200k context, JSON output)\n- `NOVELTY_LLM_CLASSIFY_FAST_CMD` — Phase 0 intent extraction + per-paper pattern tagging (smaller context, JSON output)\n\n**Which tier a step tolerates — the split is by TASK KIND, not by cost** (both directions measured; see design-notes):\n\n- **Mechanical classification against a written rubric** — per-item independent, \"which of these N named categories\", criteria already in the rubric. *Pattern tagging is the whole of this class.* **Cheapest tier is correct here**, and shardable across parallel sub-agents.\n- **Open-ended judgement with no enumerated answer set** — \"is this paper on-topic\", \"what load-bearing work is MISSING\", \"is this candidate subsumed\". *Phase 0.4 partition, Phase 0.5 coverage check, and every gauntlet phase are this class.* **Do NOT downgrade these**, which is why their emits say so explicitly — a cheap tier's over-strict drop is an unrecoverable recall loss, while an over-inclusion costs one row the next stage can still catch.\n\nWith no separate cheap model, lower the REASONING EFFORT for the mechanical class rather than reaching for the largest configuration everywhere; reserve full effort for the open-ended class.\n\nEach is a CLI taking a stdin prompt (`<>...<>...`) and emitting JSON on stdout. When unset (the default when running inside any host LLM), the orchestrator emits sentinel files and the host LLM handles those steps natively.\n\n- `IDEASPARK_POOL` — per-job Phase 0 retrieval caps, `job=N,...` (jobs: arxiv, ss_recent, oa_recent, openalex, semanticscholar, openreview). A job at 0 is skipped (this is how oa_recent stays off; set `oa_recent=6` for journal-heavy fields). Malformed values fail-fast.\n- `IDEASPARK_RETRIEVAL_CACHE` — cross-run Phase 0 retrieval cache (default `~/.cache/ideaspark/retrieval`, 24h TTL via `IDEASPARK_RETRIEVAL_CACHE_TTL_S`); set to `off` to bypass, or to a path to relocate. Keyed on connector + queries + window + caps + `--as-of`, so any real change to the request misses; successful non-empty results only. Exists because re-running Phase 0 otherwise re-hammers every API — three runs in ~15 min rate-limited arXiv and Semantic Scholar into returning zero records.\n- `IDEASPARK_RETRY_PAUSE_S` — pause before the single bounded per-job retry (default 45s). A failed job also hands its cap to the surviving job covering the same window (≤2x).\n- `IDEASPARK_RELEVANCE_PARTITION` — set to `off` to disable the Phase 0.4 host relevance-partition (default: on). When off, retrieval's wide net flows straight to tagging with no core/adjacent/off_topic gate (the old `outside_taxonomy`-only behavior); deep-read then falls back to on-topic (non-`outside_taxonomy`) rather than `core`-gated.\n- `IDEASPARK_COVERAGE_CHECK` — set to `off` to disable the Phase 0.5 host-recall coverage check (default: on).\n- `IDEASPARK_CROSS_RUN_DEDUP` — set to `off` to disable the sibling-run soft-negative-anchor scan in the Phase 2 emit (default: on).\n- `IDEASPARK_DEFAULT_COMPUTE` — optional standing compute profile for the user (free text, e.g. `\"8×H100 node, ~300 GPU-days, $50k API budget\"`). Put it in `.env` (auto-loaded); `next` surfaces it to Phase 1 as intake context. Precedence: compute stated in the user's query > this value > the factory default (80GB-class GPUs, ≤8 concurrent, ≈150 GPU-days / 5 months, ~$10k API campaign). Use this instead of editing the factory default — the default is the feasibility yardstick for users who state nothing.\n" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/anti-patterns.md", "sha256": "bdb25ffe55796ec6f2b3e8296fec53141fcca81c33ea50696f20ae5101256555", "text": "# Anti-patterns — reject-favored compositions to guard against\n\nThis file is a **guard, not a ban**. The 1,891-paper multi-label tagging surfaces three 2-way pattern compositions whose Oral rate $p_O = n_O / (n_O + n_R)$ is at least 12 percentage points below the dataset baseline ($p_O = 58.4\\%$). They are not forbidden — sometimes a problem genuinely calls for one — but Phase 3.2's `anti_pattern_check` audit must explicitly verify the documented failure mode is mitigated before such a composition advances.\n\nThis is the **only place the historical acceptance prior enters the design**. The prior is used as a structural risk signal at audit time, not as a generation guidance.\n\n## The three reject-favored 2-way compositions\n\nSelection criterion: $n_O + n_R \\geq 30$ AND $\\Delta p_O \\leq -12\\,\\text{pp}$ (i.e. $p_O \\leq 46.4\\%$). Three compositions clear the bar; **all three involve `heterogeneous_decomposition`** as one component — the empirical signal is that pairing \"decompose heterogeneity for differentiated treatment\" with another constructive move stacks two ad-hoc choices that have to mutually justify each other.\n\n| Composition | $n_O$ | $n_R$ | $p_O$ | $\\Delta p_O$ | Failure mode | Required mitigation if used |\n|---|---|---|---|---|---|---|\n| `heterogeneous_decomposition` + `self_supervised_signal_engineering` (`audit_decomp_supervisor`) | 17 | 36 | 32.1% | −26.3 | \"We made up the groups AND made up the labels.\" Decomposing into sub-populations is one un-derived choice; manufacturing supervision for each sub-population is a second un-derived choice; the paper is reviewed as two stacked heuristics, neither of which is testable independently of the other. By a wide margin the dataset's strongest reject signal. | The decomposition criterion must be derivable from observed structure or task-level supervision (not just intuition), AND the manufactured signal must be the *unique* signal the decomposition implies. An ablation that holds the decomposition fixed and varies the signal (or vice versa) must show the two are not conflated. |\n| `heterogeneous_decomposition` + `structural_prior_encoding` (`audit_decomp_prior`) | 42 | 51 | 45.2% | −13.2 | \"The prior masks the decomposition, or the decomposition masks the prior — which is doing the work?\" Encoding a structural prior on top of a heterogeneous-decomposition pipeline asks the prior to handle both the homogeneous core and the inter-group differences; reviewers cannot tell which axis carries the contribution. The highest-volume reject-favored combination in the corpus ($n_{O+R} = 93$). | An ablation that turns off either the decomposition or the prior in isolation must show a clear differential effect (not just a smaller combined number). Theoretically, the prior must encode a property the decomposition does not already imply — otherwise the two are doing the same job. |\n| `architectural_operator_substitution` + `heterogeneous_decomposition` (`audit_decomp_operator`) | 18 | 21 | 46.2% | −12.2 | \"The operator IS the architecture.\" Substituting a more expressive operator and asking it to handle multi-population heterogeneity stacks two distinct tradeoffs in one design choice — the operator's inductive bias is being asked to deliver both the homogeneous-data gain and the cross-group differentiation. Reviewers consistently say the contribution is over-attributed to a single change. | The operator's expressivity gain must be demonstrated on homogeneous data (where decomposition is unnecessary), and the decomposition's separate effect must be demonstrated on heterogeneous data with the operator held fixed. Each leg's contribution must be independently identifiable. |\n\n## How Phase 3.2 audit uses this\n\nPhase 3.2's `anti_pattern_check`:\n1. Takes `composition_set` = the set of `main_pattern` values across the candidate's `gap_closure[]` entries.\n2. Tests each 2-way subset against the 3 documented compositions in the table above.\n3. If a subset matches: emit `matched_pattern_id` (`audit_decomp_supervisor` | `audit_decomp_prior` | `audit_decomp_operator`) and the corresponding `required_mitigation`, then judge whether the candidate's `core_mechanism` (and supporting fields like `theoretical_leg` / `engineering_leg`) substantively delivers the mitigation — `mitigation_substantively_delivered: true | false`.\n4. If matched AND not delivered AND mitigation cannot be inserted by Phase 3.3 revision → hard-floor `verdict = abandon`. Otherwise the candidate may advance with the mitigation surfaced in `reviewer_concerns_and_responses`.\n\nThe mitigation must be **visible in the candidate's `core_mechanism`** at the artifact level, not merely claimed in the framing — keyword presence is not delivery.\n\n## What this is not\n\n- **Not a ban.** The data shows these compositions Oral 32–46% of the time; they can succeed. The prior here is a risk weight, not a verdict.\n- **Not a generation incentive.** Phase 2 selection never proposes a composition because of its acceptance prior. The prior is consulted only after the candidate is generated, by Phase 3.2 audit, to check for the documented failure mode.\n- **Not the only source of reviewer risk.** Phase 3.2's `gap_closure_reject_check` checks per-cluster (sub-pattern) reject lessons. Anti-patterns are a level above: composition-level failure modes that aren't visible in any single sub-pattern card.\n- **Not exhaustive.** Five additional combinations at $-11\\,\\text{pp} \\leq \\Delta p_O \\leq -8\\,\\text{pp}$ are mildly reject-favored; they are watch-list candidates but the empirical signal is weaker than the three flagged above. Notably, `heterogeneous_decomposition + reframe_as_solvable_object` ($p_O = 47.4\\%$, $n = 95$) just misses the threshold and may warrant inclusion as the corpus grows.\n" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/design-notes.md", "sha256": "7e9bc3c7196c45ea4bf6b1053d860f8f044d2551b5059d074592e31825345ca1", "text": "# Idea Spark — Design notes (rationale, not runbook)\n\nThis file records WHY the pipeline is shaped the way it is. Nothing here is needed to *run* the skill — SKILL.md and the per-phase system prompts carry every operational contract. Read this when modifying the skill, evaluating a design change, or debugging a quality (not mechanics) problem.\n\n## Design principles\n\n1. **Innovation Patterns are diagnostic vocabulary judged per-gap, not classification labels OR generative templates.** The 15 induced ideation patterns (reframe-as-solvable-object, assumption-audit-and-pivot, algebraic-equivalence-unification, heterogeneous-decomposition, architectural-operator-substitution, structural-prior-encoding, characterize-limit-then-surpass, self-supervised-signal-engineering, targeted-self-supervised-objective, controlled-diagnostic-design, unify-into-shared-representation, adapt-via-conditioning, generative-process-redesign, decompose-and-delegate, relax-discrete-search-to-continuous) are how the corpus describes productive research moves. Phase 2.1 reads each pattern's **Definition + Operational signature + When to apply** panels and judges per-pattern per-gap whether the pattern's move closes the gap. Phase 2.2 picks ONE sub-pattern under each chosen main pattern by reading its `tactical_pattern` + `Step-by-Step` + `when_to_pick_this_one` + `differentiation_within_parent` panels at generation. The sub-pattern's Step-by-Step is 5 abstract steps distilled from the cluster's [Accept] examples — domain-agnostic structural moves with [Reject]-derived boundaries embedded, written WITHOUT paper-ID citations so the candidate-author applies the abstract pattern to their own gap rather than mimicking specific papers. Treating patterns as generative templates (verbatim recipe execution + siblings_considered + lock-in rules) converged generation toward corpus-validated incremental work; the cognitive-tool framing avoids that.\n\n2. **The anti-incremental commitment is ≥2 ideation patterns per CANDIDATE, composed the way the corpus composes — not ≥2 gaps.** The corpus's own per-paper tagging (1-3 patterns each) shows multi-pattern Orals compose moves in SERIES on ONE contribution: pattern A's move produces the object pattern B's move operates on. Phase 2.1 therefore realizes the ≥2-pattern default preferentially as a CHAIN on the anchor gap (second pattern from the attested `companion-combos.md` set, with a named intermediate object), and only exceptionally as a PARALLEL composition via a sibling gap — which must EARN its seat through the removal test (\"the anchor's story is incomplete without it\": falsification weakens, an obvious reviewer objection opens, or the claim loses verifiability). Anchor-only selection is legitimate and common (1-3 gaps total); a single-pattern selection is permitted only with an explicit `composition_note` defense (deterministically presence-checked, audit-weighed). History: an earlier design QUOTA-forced 2-4 gaps with randomly-sampled siblings admitted by a coherence-thread test alone; that test was structurally vacuous (all gaps descend from one bottleneck, so `shared_question` was satisfiable by construction), the prompt escalated to resampling batches and even re-picking the anchor when no sibling passed, and in validation runs the audit's reject-lesson borderlines concentrated exactly on the forced sibling entries — the Frankenstein signature domain experts read as \"makes no sense\". Saturation-aware preference is unchanged (avoid saturated and untested lanes; prefer mid-frequency; saturated picks need a novel-angle defense at audit). Phase 2.2 enforces substantive novelty via `differentiation_from_lit[].delta` (what we derive/claim/construct/measure that closest_adjacent did not — not \"we use a different ideation pattern\").\n\n3. **Contribution shape is signature-agnostic; there is NO mandated theory+engineering dual-leg.** (An earlier draft mandated both legs, but no executing surface ever enforced it — the candidate schema has no theoretical_leg field, no audit check reads one, and Phase 4's `feasibility_validation.theoretical` explicitly allows `n/a`. Mandating it is the same forced-composition pressure that produced stapled siblings, so the mandate is retired rather than enforced.) The theoretical component is driven by `intake.contribution_type`; a contribution can be theorem OR observable regime OR scaling exponent OR measurement primitive OR architectural property — the audit doesn't prefer one Oral signature (theory + reframing-first) over others (scaling-law, empirical-reveal, surgical-fix, benchmark-validity). The anti-sketch guarantee that the dual-leg mandate was meant to provide is carried by three enforced gates instead: `falsification_structure_check` (audit check 5), the Phase 2.3 numeric dry-run, and the 4.1.5 implementability audit. All Oral shapes the corpus contains can score 5.\n\n4. **Mechanism-aware falsification.** Every candidate's `falsification_prediction` is a single paragraph (3-5 sentences) that visibly contains (a) the minimal experiment, (b) which metric moves and in which direction if the candidate works (name the metric + qualitative direction; the experiment establishes the magnitude), and (c) a mechanism distinguisher pivoting on ONE NAMED LOAD-BEARING VARIABLE — the single quantity (e.g., a gradient norm, an information-gain term, a logit divergence, a learned threshold, a representational direction) whose behavior carries the mechanism claim — plus a negative-control intervention on that variable that should drive the DOWNSTREAM OUTCOME METRIC back to baseline. The negative control's predicted effect MUST be the task-outcome metric that defines the mechanism's value (accuracy, regret slope, refusal pass-rate trajectory) — NOT the load-bearing variable's own value or any quantity analytically derived from it (a control of the form \"intervene on X → X becomes 0\" tests a definition, not a mechanism). A positive control (a stripped-down model using only the load-bearing variable that recovers most of the downstream effect) is recommended when feasible. Without the load-bearing-variable-plus-non-tautological-negative-control structure, \"metric moved\" remains consistent with calibration improvements / estimator quality / data shifts / many other non-mechanism explanations — and the candidate is the dominant Reject signal in the corpus. `compute_budget` is a separate flat field, **user-relative** (no absolute cap), carrying BOTH cost lines when applicable (GPU-days + inference/API dollars for the full falsification campaign) — Phase 4 feasibility_validation buckets each line against `intake.compute` and takes the worse. **Factory default `intake.compute = 80GB-class GPUs (A100/H100), up to 8 concurrent (one node), ≈150 GPU-days over 5 months, plus ~$10k inference/API campaign budget`** — the canonical \"funded single researcher\" scale. Why this shape: the unit is a VRAM class rather than a chip model so it doesn't stale-date; the concurrency line exists because \"1 GPU × 5 months\" and \"8 GPUs × 19 days\" have equal totals but different feasibility (aggregate-memory-bound training needs the node); the API line exists because LLM-era falsification campaigns (closed-model baselines, LLM judges, long reasoning traces) are often bounded by the API bill, not GPU-days — an implicit $0 default made feasibility judgments on those ideas meaningless. The magnitude is deliberately NOT lab-scale: the default is the yardstick for users who stated nothing (median: funded student), and well-resourced users are exactly the ones able to state their budget. Precedence: user query > `IDEASPARK_DEFAULT_COMPUTE` env (standing per-user profile, auto-loaded from `.env`, surfaced by `next` to Phase 1) > factory default. Both `falsification_prediction` and `compute_budget` are kill-switch fields: byte-identical preserved across Phase 2.2 → Phase 3.3 (when revise runs) → Phase 4 — with exactly one audited exception, see \"The falsification rewrite exception\" below.\n\n5. **Anti-pattern is empirical negative knowledge — audit-only.** The corpus identifies 3 reject-favored 2-way compositions (audit + auxiliary_signal, audit + invariance, audit + surgical_fix), each with a specific required_mitigation; rates and mitigations live in `references/anti-patterns.md`. **Phase 2 does NOT load anti-patterns.md** — naming reject-prone compositions during generation creates Streisand-effect priors that bias selection. Phase 3.2 audit's `anti_pattern_check` reads anti-patterns.md, detects matching compositions via the SET of `gap_closure[].main_pattern` values, and verifies substantive mitigation delivery (not keyword presence). Failed audit → Phase 3.3 revise rewrites the candidate's affected fields with the corpus-grounded fix.\n\n6. **Cheap kills first, expensive expansion last.** Phase 3 runs collision retrieval (real, ~30s, no LLM) before audit (single LLM call replacing earlier 4-attacker simulation). Heavy expansion of the candidate into motivation + method_flow + claims + abstract happens only in Phase 4, after the candidate clears the gauntlet.\n\n7. **Phase 3.2 is judgment, not modification.** The audit reports what corpus evidence triggered which signals; it does NOT auto-revise the candidate. When revision is needed, the audit emits `revision_targets[]` and Phase 3.3 (a separate LLM call) applies them — keeping audit and modification on different surfaces avoids the self-answering bias of cherry-picking attacks one can already answer.\n\n## The falsification rewrite exception (why the kill switch has one door)\n\nThe kill-switch contract exists to stop SILENT drift: a reviser or expander quietly substituting an easier experiment or a smaller budget. But the audit's `falsification_structure_check` can find the paragraph *structurally* deficient (no named load-bearing variable; a tautological negative control that predicts the variable's own value instead of the downstream outcome metric) — and that deficiency is exactly the dominant Reject signal the field was designed to avoid. A rule of \"auditable but unrepairable\" would force `abandon` on candidates whose experiment and claim are fine and only the falsification *writing* is broken.\n\nSo the contract is \"no unaudited change\", not \"no change\": Phase 3.2 (and only it) may emit a `scope=falsification` revision_target; Phase 3.3 applies it via the dedicated `rewrite_falsification` op; the merger verifies the audit's authorization (`--critique`) and stamps `falsification_rewritten`; a bounded single-check re-audit must then pass before Phase 4; and `kill_switch_integrity` re-bases the byte-identity anchor at the Phase 3.3 final_candidate. The reviser cannot self-authorize, the rewrite cannot change experiment/metric/claim, there is at most one attempt per run, and `compute_budget` has no door at all.\n\n## The bounded internal retry (why abandon isn't immediately terminal)\n\nPhase 2.1's sibling-gap sampling is random. A single `abandon` verdict therefore often reflects an unlucky draw (a gap×pattern combination that walks into a documented Reject lesson), not an unworkable direction. The one-shot guarantee constrains *asking the user*, not internal regeneration — so the host archives the failed attempt under `attempt_1/`, marks `.retry_used`, and re-runs Phase 2.1+2.2 exactly once with the failed attempt's audit + selection as negative constraints (see the OPTIONAL retry input in `ideate_select.txt`). A second abandon writes `phase_3_failed.md` citing both attempts. Phase 0/1 artifacts are reused; the retry costs only the generation + gauntlet calls it re-runs.\n\n## Why Phase 2.1 + 2.2 run in ONE sub-agent (but 3.2/3.3 and 4.fill/4.1.5 never merge)\n\nThe call-separation rule protects *adversarial* surfaces: the LLM that proposes attacks must not be the LLM that answers them (3.2 vs 3.3), and the persona that authored the method must not be the one auditing its implementability (4.fill vs 4.1.5). Phase 2.1 → 2.2 has no such boundary — both are generation-side, and 2.2 consumes 2.1's output directly. Running them in one sub-agent context (writing BOTH output files, so every audit anchor is preserved) saves a sub-agent spin-up plus a duplicate read of phase1 output + intake, with no bias cost. The two-STAGE design (select at Operational-signature level, then generate with sub-pattern cards open) is unchanged — it is about judgment layering, not about process isolation.\n\n## Why the coherence gate executes instead of reviewing (and why it is narrow)\n\nNo pre-2.3 quality surface checked the candidate's INTERNAL procedural validity: the citation gate checks provenance, the 3.2 audit checks external facts (corpus Reject patterns, prior art, falsification structure), and 4.1.5 specifies-but-never-modifies at Phase 4 — too late and too constrained. A real run supplied the motivating bug: the 2.2 candidate's \"resample R=16 times until the 24-bit parity matches\" reads fluently and is vacuous (acceptance probability ~4⁻²⁴); the audit caught it only incidentally. Logic bugs read fluently by construction — they surface only under EXECUTION — so the gate's core action is a numeric dry-run on a small concrete instance (plus dataflow formalization, degenerate probes, claim→step mapping), not a checklist read.\n\nTwo failure modes shape the contract. (1) Self-answering bias: the context that wrote the bug rubber-stamps it, so 2.3 is always a FRESH context (same reason 3.2/3.3 and 4.fill/4.1.5 are separate calls). (2) Refine-to-blandness: open-ended \"improve this idea\" passes sand the edges off (the same convergence-to-incremental force documented under \"Why 2 stages with judgment\"), so the gate is single-pass, closed-scope (repairs only what a specific T1-T5 finding requires), and forbidden from the novelty surface, pattern bindings, and kill-switch fields. Unfixable-without-redesign findings are recorded, not \"fixed\" — the audit's abandon/retry machinery owns redesign decisions. The audit stays blind to the 2.3 report so \"already checked\" cannot soften it. Verification ladder this slots into: paper-level soundness (2.3, necessary not sufficient) → provable claims (theory leg, established by derivation) → empirical claims (only the falsification experiment).\n\n## Why the naive-baseline audit exists (the depth mechanism)\n\nA paired comparison exposed the hole. Two candidates were generated for the same bottleneck (DSpark serving-time statistics) from the same phase0/phase1: the quota-era pipeline produced a candidate whose mechanism confronted scheduler-induced CENSORING (the scheduler chooses what gets observed FROM the very estimates being calibrated → naive averaging is selection-biased → propensity weighting + ε-exploration) — an external review rated it top-venue material precisely for that machinery; the refactored pipeline produced a cleaner single-story candidate whose mechanism was EMA + shrinkage, censoring never confronted — \"why not just EMA?\" has no answer, and the review rated it incremental. Post-mortem, three facts located the flaw: (1) phase1 carried ZERO censoring content — the insight was invented at generation time under the assumption_audit pattern that the QUOTA had accidentally forced into the composition, so the old depth was a side effect of the very defect the refactor removed; (2) every quality criterion in the refactored selection/gate stack is a SATISFICING criterion (\"is the story complete\", \"does the procedure survive\") — the cheapest complete story always wins, and EMA is complete; (3) the pipeline's own coherence trace TOUCHED the censoring shadow (cold buckets with 0/0 estimates) and patched AROUND it with abstention, because the repair contract said repair-don't-redesign and nothing distinguished a patch-hole from THE contribution-hole.\n\nThe fix is a demand-verify pair at the mechanism level (NOT at gap selection — the reviewer's own verdict placed all the value inside one mechanism story, so re-legitimizing sibling stapling would fix nothing): Phase 2.2 must answer the reviewer's universal existence question — \"what is the naive version, and why doesn't it already work?\" — with three honest branches: (i) the naive version silently relies on a premise false in this setting (usually an OBSERVATION-MODEL premise: how inputs are sampled/observed — censoring, selection bias, non-iid, leakage, self-preference all live there; a mandatory observation-model premise was added to the ledger for this reason) → confronting that failure IS the contribution; (ii) naive suffices and the field knows → an incremental signal surfaced honestly instead of decorated over; (iii) naive works but the field disbelieves it → counter-intuitive minimalism, requiring evidence of the belief (hook shape (c)'s admission test). Branch (iii) exists because some Orals ARE simple-and-right; a two-branch version would systematically kill them. Phase 2.3 then verifies by execution (T5): it constructs the naive version INDEPENDENTLY (the candidate's own stated naive can be a strawman), runs it on the same dry-run instance, and classifies `confronts_obstacle` / `equivalent_to_naive` / honest `n_a` (pure-equivalence shapes degrade to tracing where the standard argument breaks). `equivalent_to_naive` and any finding coinciding with the declared obstacle are OBSTACLE HOLES: avoidance-style patches are forbidden for them, they surface as blocking, the audit treats them as load-bearing (revise to confront, or abandon), and the internal retry carries the obstacle as a POSITIVE directive. Honest limits: this is a depth DETECTOR and redirector, not a depth generator — directions where naive genuinely suffices are correctly reported as incremental rather than inflated; and 2.2's self-answer can still be gamed, which is why T5's independent construction is the enforcement layer (the same demand-then-verify-by-execution pattern as everything else in this skill).\n\n## The universality criterion (what changes are allowed to ship)\n\nEvery constraint added to the generation side is paid by EVERY future idea, so the admission bar for skill changes is: net effect ≥ 0 for every idea shape (method, generative/perception, systems, theory), with \"true zero cost when n/a\" as an acceptable form of ≥ 0 — a conditional clause that fires only when its precondition holds costs nothing where it doesn't apply. Changes that help one shape and hurt another do not ship until reformulated conditionally (this batch's examples: the observation-model premise and the stakes clause were both born as unconditional demands that would have forced theory-shaped ideas to fabricate practitioner scenarios and sampling stories; both were made conditional with explicit honest n/a escapes — fabrication to satisfy a checklist is strictly worse than the missing field).\n\nTwo constraint families behave differently under this criterion. GENERATIVE constraints (forced pattern counts, forced sibling gaps, forced mechanism families) throttle the generator — the quota era proved this empirically — so the generation side takes only minimal honest-declaration demands (a ledger, an audit paragraph, claim wording at defensible strength: net a few sentences). HONESTY constraints (grade this claim, compare against the naive version, execute the dry run) do not throttle, because a truthful candidate passes them for free; their teeth therefore live on the VERIFICATION side (2.3), which grades and repairs wording but is forbidden from redesigning. The complement rule keeps honesty constraints from backfiring into blandness: grading must never reward claim-avoidance — a strong claim with honest stated assumptions outranks a hedged weak claim, and an all-hedged candidate is itself flagged as asserting nothing checkable.\n\nClaim grading is SEMANTIC, not lexical: T4 classifies each asserted property as established / conditional / overclaim / empirical by arbitration matched to claim type — statistical claims settled by an executed Monte Carlo (the measured number decides, e.g. an SNIPS-style \"finite-sample unbiased\" claim dies to a measured bias, not to keyword matching), theorem-shaped claims recorded as proof obligations (at best conditional until proved), everything else by the T1 mapping argument. Execution beats estimation for the same reason 2.3 executes at all — a fresh-context hand-walk can still hallucinate arithmetic — so T2/T5 write and RUN a stdlib script when an execution tool exists, degrading honestly to `unexecuted` when not.\n\nThe retry budget follows the same criterion, stated as ONE rule instead of a death-type taxonomy: a retry is justified only by INFORMATION GAIN — the failed attempt produced binding lessons (upheld executed findings, new subsuming papers, new triggered corpus lessons) that the previous generation did not have. The empirical basis is uniform across recorded runs: directive-carrying retries converged in one attempt (the inert-IPW→ε-exploration and vacuous-IPCW→PACE repairs); blind re-rolls under unchanged constraints did not. The two former special-case branches fall out as instances (first abandon always retries because generation ran with zero audit information; a subsumption lesson REPEATED across attempts binds at the framing level, so the answer is re-diagnosis, not another roll), and combinations nobody wrote branches for are handled by the same comparison — e.g. an obstacle death followed by a fresh subsumption threat retries on the new negative anchor, while a second death repeating an already-seen lesson terminates immediately. A global cap (3 candidate cycles per framing + 1 re-diagnosis with 1 granted attempt) bounds cost at 4 gauntlet cycles; the cap is the only non-informational element, and it exists because even informed retries have a price.\n\nWhy a failed attempt states requirements instead of being repaired. When the audit kills a candidate whose gap×pattern choice was sound and only the mechanism's internals were broken, the obvious response is to repair it in place instead of regenerating. That was tested: the three abandoned candidates in the corpus with mechanism-internal deaths each got a repair attempt pinned to its own selection, then an independent gate judged the result. None survived. The failure mode was uniform and is the reason the branch does not exist — a context that knows the finding produces something that reads as confronting the obstacle while reproducing it, defended by evidence that is arithmetically forced (one cited \"100% of the gap closed\" for an arm that IS its statistic's own normalizer, so x/x = 1.0 for any input). One repair reproduced verbatim the `equivalent_to_naive` verdict that had killed the original; another moved its decision quantity off the incumbent anchor and so promoted edits whose true net effect was negative.\n\nThe same three candidates yielded strong diagnosis when the GATE — which holds the executed instance and has no stake in a repair succeeding — was asked what passing would TAKE rather than to fix anything: identifying conditions grounded in fresh execution, a corrected cost claim the candidate had used to exclude an option, and in one case a re-scoping showing the failed component was not what the gap required. Repairer advocates, gate diagnoses. That asymmetry is why the payload is `structural_requirement` on the blocking finding rather than a repair branch in the phase graph.\n\nProvenance for every number is the notation-layer instance of the same criterion. The skill forbids fabrication in four places on the FACT side (no invented naive comparison, no invented observation-model premise, no invented lineage ancestors, honest `open` holes over invented fills) but originally asked nothing of NUMBERS, so digits acquired unearned authority through three unguarded seams: parameters (every check was keyed on symbols, so writing a bare literal instead of naming it evaded all of them — the cheapest way to satisfy \"no undefined symbols\" was to use no symbol), falsification bars (the structure check verifies experiment/metric/direction/variable/control, all of which stay intact around an invented threshold), and equations (authored at Phase 4, after every gate has run, so nothing had ever read them). Measured on the run corpus before the fix: unnamed method parameters were the high-frequency case, invented outcome bars appeared in ~15% of runs, and equation-borne fabrication was rare but the most damaging per instance (one run derived a sample size from an invented variance, so the number read as computed when it was assumed). The three repairs are one rule — a number must be named or sourced — with teeth on the verification side (T1 for parameters, audit check 5 for bars, 4.1.5 for equations) and a single generation-side clause. Deliberately NOT a deterministic validator: a regex proxy over the same corpus was two-thirds false positives (powerset exponents, `mod 2`), so the judgment stays semantic.\n\nRegression protocol: because the generator is stochastic, \"did the same idea come back\" is meaningless; regressions are judged at the PROPERTY level over a fixed cross-shape direction set (references/regression-directions.md, deterministic subset in scripts/regression_check.py). The theory direction is mandatory in every sweep specifically to exercise the n/a escapes without fabrication — it is the shape most easily hurt by well-meant universal demands.\n\n## Why 2 stages with judgment, not lock-in\n\nA lock-in alternative would demand verbatim quotes from cards + enforced siblings_considered + sub-pattern recipe execution + many hard rules; cumulatively that converges generation toward corpus-validated incremental work and kitchen-sink mechanism stacks. The judgment-based 2-stage design (Phase 2.1 = judgment per pattern at Operational-signature level; Phase 2.2 = sub-pattern as descriptive vocabulary not recipe) produces paper-shape candidates while preserving audit anchors via `gap_closure[].main_pattern + sub_pattern`.\n\n## K=1, not K=2/3\n\nSingle candidate goes through critique. (Earlier K=3/K=2 design had no auto-selection downstream — overhead without quality win.)\n\n## Audit check history\n\nEarlier design had a check `almost_prior_factcheck`. Removed: low fire rate, redundant with paper_pointed_threat. A `saturation_defense_check` was also tried and removed: it was the one purely advisory check — soft signal only, never a hard floor, and unlike the others it consulted no retrieved related work — so its concern now folds into Phase 4's `reviewer_concerns_and_responses` instead of gating Phase 3.2. Saturation metadata still flows: Phase 1 computes the band, Phase 2.1 records it, Phase 4 echoes it into `domain_landscape`. `recipe_application_check` was added because the deterministic citation guard can only prove parent-consistency, so a recipe built from the parent's gist while citing a real cluster passes the guard yet bypasses the cluster's actual tactic; this check is the semantic backstop. `falsification_structure_check` is the newest (fifth) check — before it, the falsification paragraph's structure (design principle 4) was demanded at generation but never audited, and the kill-switch made it unrepairable; now it is audited, and repairable through the single-door rewrite exception above.\n\n## Why the verdict is two-layer\n\nPure mechanical aggregation over-triggers revise (treats 1 trivial borderline same as 3 severe). Pure LLM verdict introduces agreeable-bias and loses audit trail. Hard floor preserves non-negotiable corpus facts; soft layer uses context to distinguish \"must fix\" from \"noted concern, advance\".\n\n## Why Phase 3.3 is patch-only\n\nPrevious versions of the 3.3 contract had the LLM echo the full candidate back with edits applied; a single ~25k-token candidate echo caused a real backend inference timeout (the kill-switch fields, the largest, were re-typed verbatim). The patch + deterministic merger design removes that class of failure and makes the anti-substitution contract structural: the model physically cannot write a guarded field (outside the audited falsification door).\n\n## Why Phase 4 is skeleton → fill → assemble\n\nPhase 4's full expansion JSON has ~30 top-level fields and ~half are mechanical transforms — kill-switch echoes, venue_year lookups, group-bys over `lit_table.md`, joins of `gap_closure × pattern_saturation`, reviewer-concern lifts from the audit report. Asking the LLM to re-type those wastes tokens and risks a backend inference timeout (the same shape that broke Phase 3.3 before the patch-only redesign). The deterministic skeleton populates every mechanical field; the LLM authors only the ~12 prose TODOs (~8k instead of ~20k tokens); the deterministic assembler merges and refuses kill-switch writes.\n\n## Why Step 4.1.5 exists (and is compute-agnostic)\n\nPhase 4.1's `method_flow.steps[]` are often too terse to *understand* — a step names an operation (\"extract premises\", \"score consensus\", \"train a critic\") without the concrete object it runs on, so the method \"reads\" but cannot be built from. 4.1.5 adopts a fresh, skeptical implementing-engineer persona (separate call from the 4.1 author — same anti-self-answering rationale as principle 7) and rewrites each step into a specification an engineer could code from. It MUST NOT consider compute/wall-clock — resource feasibility is judged separately by 4.1's `feasibility_validation`; conflating the two re-introduces exactly the hand-waving the step removes. A step that is expensive but fully specified is the correct output.\n\n## Why collision is dual-channel (signature@10mo + alias@48mo)\n\nPhase 0 covers 0-24mo but with broad-domain TOPIC queries; Phase 3.1 re-queries by the candidate's mechanism-specific `signature_terms[]`. With the original 6-month collision window, a same-mechanism paper 7-24 months old could be missed by both passes (too old for collision, too mechanism-specific for Phase 0's topical recall). 10 months narrows that at negligible cost.\n\nBut a real run exposed a second, LEXICAL blind spot no window widening can fix: the same mechanism under another community's name. A \"goal-image conditioned scorer for task completion\" (VLA vocabulary) had 2023-2024 near-ancestors published as \"goal-conditioned success detectors\" / \"goal-image reward models\" (reward-modeling vocabulary) — signature terms drawn from the candidate's own wording never contain those tokens, so a 48-month signature search still returns nothing. The fix uses the one knowledge source retrieval lacks: Phase 2.2 emits `alias_terms[]` from PARAMETRIC knowledge (\"what would other communities call this?\"), and Phase 3.1 runs them as a second channel over a 48-month window. Hits carry a `collision_channel` tag; the audit is told not to discount alias-channel threats for age (an ancestor subsumes regardless).\n\nDual-channel retrieval roughly 2.4×'d the raw pool (a real run hit 653 hits / 721KB — beyond what the audit context can read whole), so the orchestrator relevance-truncates the audit-facing file: each hit is scored by lexical overlap between its title+abstract and its OWN channel's query terms (crude prefix-stemmed content-word match — deterministic, zero deps); zero-score hits are dropped unconditionally (they are BM25 phrase-fragment accidents — a true same-mechanism paper is retrieved BY those terms, so its overlap cannot be 0); each channel then keeps its top-120. Abstracts are slimmed to 1000 chars. Drops are printed per channel with the min kept score (no silent caps), and the untruncated pool is preserved as `collision_hits.full.json`. Embedding/LLM reranking was considered and rejected for this job: reranking a fixed pool where the true positives share vocabulary with the query terms by construction is exactly the case lexical overlap handles; heavier rerankers buy nothing here (they matter for RECALL improvements — e.g. a future citation-graph third channel — not for this cut). Backstop for families neither channel surfaced: the audit's `parametric_family_concern` soft signal names the family + query vocabulary (never specific papers — family names don't hallucinate, cites do) and flows into Phase 4's reviewer_concerns as a \"run a scoop-check on X before investing\" flag rather than gating the verdict.\n\n## Why Phase 0 retrieval is orchestrated (not WebSearch)\n\nSkills are advisory — when SKILL.md says \"run Phase 0 literature search\", the model has multiple paths (Skill tool, direct Bash, WebSearch simulation, fetch arxiv URL), each \"satisfying the spirit\" of Phase 0. Soft rules don't reliably prevent tool drift. The orchestrator collapses the choice space: SKILL.md Phase 0 says \"run THIS Bash command\" — the model has one path or must explicitly admit failure. Coupled with Phase 1's entry assertion (lit_grounding_mode + retrieved_via), bypass becomes mechanically detectable, not just discouraged.\n\n## Why the freshness window is dual-engine (and why overlap is now a feature)\n\nThe original design used NON-overlapping windows (arXiv owned 0-6mo, SS/OA owned 6-24mo) to avoid double-counting. That made the 0-6mo window — exactly where gap freshness lives — a SINGLE-engine window, owned by arXiv's official API, which is the weakest RETRIEVER of the four (pure lexical, poor ranking). Retriever quality ≠ corpus coverage: SS indexes the same arXiv papers but ranks them far better, and across real runs nearly every core hit came back as an SS record while the arXiv connector contributed weak-relevance filler. So the freshness window is now covered by BOTH engines (arxiv 0-6mo + ss_recent 0-6mo). Overlap became a feature once dedup turned SS-priority-with-key-merge: a paper in both windows collapses to one record AND the arXiv record's externalIds enrich the SS one. Two engines also removes the single-point-of-failure (arXiv's connector 429s were observed live blacking out the entire recent window). OA was deliberately NOT added as a third recent engine (slowest to ingest arXiv, its unique strength is the published long tail which its 6-24mo role already covers, and it is the main cross-domain noise importer) — it stays as `oa_recent` cap 0, a per-run opt-in for journal-heavy fields. The retrieval pool is majority-recent, and the fulltext deep-read pool was rebalanced the same way (T3 carries the largest tier cap) because lifting only the corpus layer leaves fresh gaps stuck in the un-deep-read tail. Current cap values live in `PHASE0_RETRIEVAL_JOBS` and the `phase0_fulltext` flag defaults — do not restate them here, they have already drifted once.\n\n## Why the multi-query merge is round-robin\n\nMap mode writes 4 ROLE-DIFFERENTIATED queries (broad-domain / method-signature / most-similar-problem / escape-mechanism). Every connector then ran all of them against ONE cap and merged by concatenating each query's in-window hits in query order before taking `merged[:max_results]` — which silently made query ORDER the priority. Measured on a live 6-query arXiv run at cap 40:\n\n query 1 53 in-window -> 40 survive (13 of its own already cut)\n query 2 41 unique -> 0\n query 3 37 unique -> 0\n query 4 76 unique -> 0 <- the escape-mechanism query, the highest yield of the six\n query 5 57 unique -> 0\n query 6 18 unique -> 0\n 282 unique in-window papers available; 40 kept, ALL from query 1.\n\nSo the corpus was effectively a ONE-QUERY corpus; five of six fetches were pure wall-clock (this is what blew the arXiv timeout); and the escape-mechanism query — which exists precisely to catch the paper that already solved the bottleneck and titled itself by its solution — contributed nothing. It also explains why two runs on the same topic surfaced disjoint sets of load-bearing papers: phrasing, not coverage, decided the corpus.\n\nRound-robin (`scripts/_merge.py`) gives every query a floor: each contributes its most relevant hit, then its second, and so on, preserving the connector's own relevance order within a query. A single query is byte-identical to the old path, so the change is invisible where it should be. Re-measured after the switch: corpus 119 -> 129, arXiv's unique contribution 25 -> 32, and two landmark papers concatenation had dropped came back.\n\nThe consequence to keep in mind when editing map mode: round-robin makes query QUALITY matter much more, because a low-yield query now spends a guaranteed share of a saturated cap instead of being harmlessly truncated. That is why the count guidance is 4 (not 4-6) and why the escape query carries a vocabulary-ownership test — see references/intent-recognition.md.\n\n## Why retrieval casts a wide net + a host relevance-partition (Phase 0.4)\n\nA live run exposed the failure: at the old caps (arxiv 18, ss/oa 15) EVERY connector returned EXACTLY its cap — all four saturated. A saturated cap means the source had more matches ranked just below the cutoff that were truncated before anything downstream (Phase 1, deep-read, collision) could see them. That is a pure recall ceiling: the gap can only be as fresh/complete as what got past the top-N. The same run also showed the opposite failure — cross-domain \"memory-augmented\" false positives (cognitive-radio resource allocation, exercise recommendation, fake-news NLP) had leaked into the corpus and slipped past the weak Haiku `outside_taxonomy` tag, diluting the \"every mechanism in the cluster\" denominator.\n\nThe two failures have one joint fix: **widen retrieval (~2.5-3×: arxiv 40, ss/oa 30) AND add a host precision gate that runs before tagging.** Widening alone would just import more noise; the gate is what makes it safe. The gate is the Phase 0.4 relevance-partition: the host reads every record's title+abstract in ONE pass and labels `core | adjacent | off_topic`. off_topic is archived and dropped; only `core` feeds the gap corpus and the deep-read pool; `adjacent` (base policies, spatial/tactile/reasoning VLA, eval-only) stays citeable but never consumes a deep-read slot. The gate is deliberately CONSERVATIVE on the core/adjacent line (unsure → core) because a wrong off_topic is an unrecoverable recall loss, whereas a wrong adjacent only costs a citeable-baseline demotion. Marginal on-topic papers live in ranks N..~3N, not the long tail, so ~3× recovers them without drowning the gate — \"retrieve ALL\" is wrong (unbounded noise, gate cost scales with pool size). This runs on the host's own model (open-ended relevance judgment, not mechanical) and REPLACES `outside_taxonomy` as the precision gate; the per-paper pattern-tagging then only sees survivors. The deep-read pool is `core`-gated (U bypasses; H needs its nomination tagged core), ceiling raised 20→25, and empty method extractions are backfilled from the next-ranked core reserve so a paywalled/extraction-missed fetch doesn't waste a slot. Default-on, `IDEASPARK_RELEVANCE_PARTITION=off`, deterministic-driven by `next` with one idempotent marker.\n\n## Why a whole connector must not be able to vanish quietly (Phase 0 resilience)\n\nThree failure modes were observed in one live run, each of which silently thinned the corpus while Phase 0 still reported success. They are listed together because the fix is one layered defence, not three patches.\n\n1. **Cost scales with QUERY COUNT, not with the cap.** The arxiv job pulls `max_per_query` (200) per query because only ~5-8% of relevance-ranked arXiv hits land inside the 0-6mo window; `max_results` only truncates after the merge. A 6-query run blew the old 300s budget and the orchestrator dropped the entire freshest source. Timeout is 600s now, but the real lesson is that adding queries — not raising caps — is what costs wall-clock.\n2. **rc=0 plus a non-empty FILE is not \"records returned\".** A throttled connector writes a valid `[]` (2 bytes), which passed the old emptiness check, so a zero-yield job was credited in `connectors used:` and the corpus quietly fell from 91 to 62 papers with no diagnostic. Zero-yield is now counted, reported per job, and summarised in a WARNING.\n3. **One transient failure was permanent for the run.** Each job ran exactly once. A measured example: an arXiv query that timed out at 300s returned in 1.8s a few minutes later. There is now one bounded retry (45s pause, 1.5x budget), and — because the 0-6mo window is deliberately dual-engine — a dead job's cap is absorbed by the surviving job covering the SAME window, capped at 2x so one engine cannot balloon the pool past what the Phase 0.4 partition can triage.\n\nUnderneath all three sits the cause that made them compound: **re-running Phase 0 re-hammered every API**. Three runs inside ~15 minutes rate-limited arXiv and Semantic Scholar into returning nothing. Retrieval now has a cross-run cache (`~/.cache/ideaspark/retrieval/`, 24h TTL, `IDEASPARK_RETRIEVAL_CACHE=off`), keyed on everything that changes the result set (connector, queries, window, caps, extra args, `--as-of`). Successful non-empty results only — caching a throttled `[]` would turn one bad minute into a day of thin corpora. The short TTL is deliberate: freshness is this skill's whole point, and the windows are relative to the clock. The fulltext cache is 30 days because paper CONTENT is stable; a retrieval result set is not.\n\n## Why the host coverage check is nominate-then-verify (Phase 0.5)\n\nRetrieval, however wide, has recall holes: a landmark the query vocabulary misses, a venue the connectors index poorly. The host, having read the whole tagged table, can often see what's absent (\"ADAS isn't here?\") — this was done by hand in a real run. But letting the host WRITE records directly is unsafe: parametric memory hallucinates plausible-looking papers, and downstream phases join on paper_id, so one fake record poisons Phase 1 and can't be caught by collision. The fix separates NOMINATION from ADMISSION: the host proposes titles (its open-ended judgment, on its own model — not a cheap tier, because deciding what's load-bearing-but-missing is exactly the judgment worth the good model; WebSearch allowed only to find titles), and `add_host_refs` VERIFIES each via a connector title-match (>=0.9) before anything enters the corpus. A hallucinated title resolves to nothing and is rejected to `host_refs_unresolved.md`, visible but not trusted. Every admitted record is thus connector-real, so `lit_grounding_mode` stays honestly `real` and the Phase 1 entry assertion is untouched. Admitted refs ride the fulltext H tier (just under U). Default-on but `IDEASPARK_COVERAGE_CHECK=off`; the whole sub-flow is deterministic-driven by `next` with one idempotent marker.\n\n## Phase 0 pool design\n\nRole-based retrieval as a JOB LIST (a connector may run more than one window; see \"Why the freshness window is dual-engine\" above): arxiv 0-6mo + ss_recent 0-6mo (freshness, two engines) / openalex + semanticscholar 6-24mo published / openreview 0-6mo in-review / oa_recent 0-6mo off by default. SS-first dedup priority (its externalIds block is the best cross-source anchor) collapsing the intentional window overlap. Caps are per-job env-overridable (`IDEASPARK_POOL`). Full-text fetch caps the pool (+ user refs, never capped) across U > H (host-recall) > T2 (published) > T3 (recent arxiv, absorbs freed slots), method-first ordering (eval/benchmark-only papers sink), concurrent fetch with per-paper budget so a slow PDF can't stall the step, HTML path first (~85% of 2024+ ML preprints) with pymupdf PDF fallback. Limitations sections are intentionally NOT extracted — author-written limitation paragraphs are often weaker than what the audit synthesizes from method + experiments.\n\n## Output surface policy\n\nNo calendar projections (sequencing in dependencies, not weeks). No experiment matrix / ablation plan / baseline table / expected figures — the skill produces IDEA + falsifiability + feasibility judgment; experimental engineering is the user's responsibility. Echo vs reference: anti-substitution-guarded fields and structural lookups are filled by the deterministic skeleton; `closest_adjacent` and `lit_grounding_mode` are rendered directly by the card template, not duplicated into Phase 4 output.\n\n## Why blocking findings reach the audit as a file, not narrative (and why the guard checks presence, not quality)\n\nOrigin: a live run where the coherence gate EXECUTED a refutation of the candidate's core machinery (equivalent_to_naive, measured numbers) and the audit — reasoning only, never shown the findings — said advance. Root causes stacked: the contract read \"unrepaired[] for the audit to weigh\" AND \"the audit does not read the 2.3 report\" (self-contradiction); the transport was an inline emit line the host's label-keyed grep silently dropped; and the audit schema had no field proving the evidence was ever weighed. The repair separates FACTS from NARRATIVE: blindness still covers the 2.3 trace/verdict/patches (anti-anchoring), but blocking entries are executed evidence and travel as a self-contained file (`blocking_findings.json`: verbatim step quote + script excerpt + measured numbers per entry) that `next` lists as an audit input. The audit must disposition each entry; refutation requires a concrete flaw (formalization-vs-text mismatch / arithmetic error / illegal instance) — re-reasoning does not refute, because the entire point of the gate is that fluent reasoning misses what only execution surfaces. The `next` guard is deliberately presence/coverage-only (bounce when dispositions are missing or advance coexists with an upheld finding): a deterministic layer cannot judge refutation quality, and pretending it can would dilute the prompt-level standard that actually carries it. Known residual: a lazy audit could refute-all with weak bases; the defense is the refutation standard plus the disposition being visible in the report for the host/user to inspect.\n\n## Why the dual-reading protocol exists\n\nFormalizing prose into code is itself interpretation. A live case: a step's \"removal leaves v unchanged\" read literally (|Δv|≈0) made the interference gate provably inert; read charitably (Δv≥0) the gate functioned — two of three findings depended on the reading, one was robust. Silently picking one reading either strawmans the candidate or launders its bug. The protocol makes the interpretation auditable: quote the step verbatim, formalize EVERY defensible reading of an ambiguous operative term, run the trace under each, tag findings reading_robust vs reading_dependent. An ambiguous operative term is always itself a wording finding — whichever reading the author meant, the text must be edited to say it, so ambiguity is never free.\n\n## Why the bottleneck-level retry is conditional (and budgeted at 1 + 1 candidate attempt)\n\nThe mechanism retry re-rolls generation under the SAME Phase-1 diagnosis; nothing re-examined the diagnosis itself, so a bottleneck whose surrounding space is occupied burned both attempts and terminated. The repair adds one bottleneck re-diagnosis, but gated on DETERMINISTIC failure attribution: only when BOTH attempts died with `paper_pointed_threat.addressable_via = \"unaddressable\"` (two independently-generated mechanisms subsumed ⇒ the occupied space indicts the framing, not the generator). Mechanism-level deaths do NOT trigger it — a third mechanism roll has diminishing returns, and the space of sharp bottlenecks per corpus is small (the first diagnosis is usually the sharpest; a forced second is often blander). The re-diagnosis receives the retired bottleneck_statement + both killer papers as negative anchors, keeps the `do_not_generate` exit (an honest \"this corpus supports no second sharp bottleneck\" beats a manufactured one), and the new bottleneck gets ONE candidate attempt (`.retry_used` stays set) — whole-run worst case 3 gauntlet cycles. The attribution rule is deliberately narrow; widen it only on evidence from real runs, not speculation.\n\n## Why cross-run dedup is soft (and lives in the navigator, not the prompts)\n\nObserved live: two runs on adjacent directions (self-evolving agents; skill self-discovery) independently generated the same mechanism family (held-out coalition Shapley) — the second run burned a full gauntlet cycle re-discovering and re-killing it. The skill is deliberately stateless per-run, so the fix is a read-only SCAN at emit time: `next` lists sibling runs' canonical candidates (title + signature terms) as one soft-anchor input line. Soft, never veto: adjacent directions may legitimately need related mechanisms — then the delta must be explicit, which is exactly the differentiation duty 2.2 already carries. The scan lives in the navigator (not the prompts) because only the host side knows where sibling runs are; the prompt's OPTIONAL block just defines how to weigh the line when present. Sibling candidates are context, never corpus — citing them as literature would fabricate provenance.\n\n## Why refuted dispositions get a bounded re-check (and upheld ones don't)\n\nThe disposition guard is presence-only by design (a deterministic layer cannot judge quality). That leaves exactly one gameable path: an audit can dismiss executed evidence by marking findings `refuted` with a hollow basis, and presence-checking cannot tell. The asymmetry: an `upheld` disposition CONCEDES the evidence (no incentive problem); a `refuted` one DISMISSES it — so only refutations get a second opinion. The re-check is a single bounded fresh call that judges the refutation, not the candidate: does the basis name a concrete flaw (formalization-vs-text mismatch / arithmetic error / illegal instance), verified against the finding's own quoted text and numbers? Invalid refutation ⇒ the finding counts as upheld and the audit bounces. Cost profile: zero calls on the common path (no refutations), one call when refutation happens. Stale-recheck loops are prevented by matching recheck verdicts to the CURRENT report's refuted finding_refs.\n\n## Why SKILL.md forbids filtering the `next` emit\n\nThe navigator's emit is the single wire carrying step inputs to the host. In the incident above, the load-bearing input (blocking findings) rode an unlabeled continuation line; the host captured the emit with a label-keyed grep and the line vanished — no error anywhere, because nothing downstream verified receipt. Rule: consume the emit whole (`head -c` the block if bounding is needed; never filter by line labels). The file-based handoff plus the disposition guard make this particular loss detectable, but the host rule remains the first line of defense for every OTHER input the emit carries.\n\n## Why the model-tier split is by task kind, not by cost\n\nSKILL.md routes pattern tagging to the cheapest tier and forbids downgrading the\nrelevance partition, the coverage check and the gauntlet. Both halves are measured,\nand the surprising half is the first one.\n\nMechanical classification: on a 74-paper table the fast tier produced 0 empty / 0 stub\n/ 0 duplicated cells, exercised 13 of the 15 patterns (no collapse onto a few labels),\nand wrote per-paper bottleneck summaries that were paper-specific rather than filler.\nIn one direct comparison it was MORE accurate than the host model — a\nhardware-economics paper (\"pricing flash endurance\") that the host-run relevance\npartition wrongly admitted as `core` was correctly tagged `outside_taxonomy` by\nfast-tier tagging. So \"cheap tier\" here is not a cost concession; the rubric already\ncarries the judgement, and the large model adds nothing to apply it.\n\nOpen-ended judgement: on a semantic relevance triage a cheap tier judged neighbouring\nrobotics-RL work `irrelevant` where the host model judged it `borderline`. The errors\nare asymmetric — an over-strict drop makes the paper invisible to every later phase and\nis unrecoverable, while an over-inclusion costs one row a later stage can still catch —\nso this class is gated on recall, not on agreement rate.\n" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-patterns/adapt_via_conditioning.md", "sha256": "b5aac2a729f2c46ae2a7a593823115fec9749da30477c6aeb75a2c36325f085b", "text": "# Adapt by Conditioning, Not Retraining\n_id: `adapt_via_conditioning`_\n\n**Plain alias**. _Adapt by conditioning, not retraining_\n\n**Definition**. Achieve task generalization by expressing each new task as conditioning — in-context examples, retrieved instances, goal specifications, or a unified task format — so the model solves it at inference without per-task parameter updates.\n\n**Operational signature**. identify a new task → express it as conditioning (examples, retrieval, goals, unified format) → solve it at inference without parameter updates\n\n**When to apply**. When you need broad task generalization but per-task training is costly or infeasible.\n\n## Success conditions (from Oral)\n- **The generalization claim is made falsifiable by structural holdout — excluding entire task or category clusters during adaptation, or stating the transfer hypothesis set-theoretically — so genuine cross-category transfer is distinguished from in-distribution memorization.**\n - rationale: Holding out instances of seen categories collapses the claim into ordinary in-distribution performance; only category-level exclusion forces the conditioning mechanism to demonstrate transfer to structurally novel targets, which is the capability actually being asserted.\n- **The conditioning channel is trained as a first-class input modality, with the model explicitly taught to parse the unified format, retrieval-conditioned input, or structured layout.**\n - rationale: When conditioning is baked into training, the parameters acquire a context-interpretation skill that activates at inference; when it is attached post-hoc to a frozen model, the architecture reduces to a standard predictor that cannot leverage the target-setting signal.\n- **A single structural quantity is isolated and shown to predict transfer efficacy — a shared-feature subset, a pre-adaptation distributional distance, a decomposed error term, or a coverage metric.**\n - rationale: Naming the load-bearing quantity makes the method diagnosable and the failure modes separable, converting a black-box result into a modular account that reviewers can interrogate and practitioners can reuse.\n- **Parameters are decoupled from the target task by training on diverse, synthetic, or procedurally generated data so they encode context-interpretation rather than task-specific behavior.**\n - rationale: Context-conditioned prediction and direct behavior fitting place different demands on what parameters must memorize; learning only 'how to read context' lets the same frozen model absorb new tasks at inference without per-task data collection.\n- **The method is shown to win precisely in the regime where the naive alternative breaks down, and that regime is explicitly characterized.**\n - rationale: Conditioning's advantage is regime-specific — sparse samples, low off-the-shelf accuracy, or small reference sets — and stating the boundary both explains the gain and immunizes the paper against the 'why not just use the simpler method' objection.\n- **The empirical demonstration is paired with a mechanism-isolating ablation or a theoretical account explaining why conditioning suffices in place of retraining.**\n - rationale: Showing that conditioning works is weaker than showing why; an ablation toggling the conditioning signal, a characterization of optimization dynamics, or a finite-sample bound closes the attribution gap that otherwise leaves the result looking incidental.\n\n## Failure modes (from Reject)\n- **Claiming 'no adaptation needed' or 'true zero-shot' while the model has been trained on data from (or similar to) the evaluation domain, against baselines denied the same information.**\n - rationale: The improvement cannot be attributed to the conditioning mechanism versus the extra exposure, so reviewers read the headline comparison as unfair and discount the central claim regardless of its size.\n- **Directly porting an established conditioning or retrieval technique to a new modality without grounding why the similarity metric or conditioning signal captures task-relevant structure there, and without testing the obvious cheaper baseline.**\n - rationale: Absent a reason the mechanism should transfer to the new setting, the work reads as under-theorized technique migration; the missing longer-context or nearest-neighbor comparison leaves the unique value of the conditioning unestablished.\n- **A conditioning recipe that is not generic — it depends on a manual, task-specific search for the right auxiliary signal or format and is demonstrated on only a single task.**\n - rationale: If instantiating the method on a new problem requires bespoke search that the paper cannot systematize, reviewers conclude it is a one-off observation rather than a reusable methodology and apply the genericity bar.\n- **Building a multi-component conditioning pipeline (e.g., graph plus fusion plus contrastive alignment) with ablations too shallow to justify each interacting module, often compounded by unclear formulation or technical errors.**\n - rationale: When the contribution of each component is unisolated, the real source of any gain is unknown, and the system's complexity becomes a liability that soundness and clarity concerns amplify.\n- **A method that works only under idealized assumptions and decays under realistic conditions — larger data scale, common parameter-efficient adaptation, or imperfect conditioning-source coverage.**\n - rationale: Conditioning approaches whose performance hinges on exact-access or small-scale assumptions cannot support a general contribution claim, and reviewers extrapolate the observed decay to the deployment settings that matter.\n\n## Oral vs Reject gap\nAccepted executions construct the evaluation so the trivial explanation is structurally impossible: they hold out entire task categories rather than instances, audit train/eval contamination, and run an ablation that toggles the conditioning channel on and off to show the gain comes specifically from conditioning rather than from extra exposure or plain multitask training. Rejected executions leave that loophole open — training on evaluation-domain data while claiming 'no adaptation,' or comparing against baselines that were never given the same conditioning budget — so the improvement cannot be attributed to the mechanism. Accepted papers also name a single load-bearing structural quantity (a shared-feature subset, a pre-adaptation distributional distance, an error-decomposition term, a coverage-versus-ambiguity tradeoff) and show it predicts transfer, whereas rejected papers stack several interacting modules and supply ablations too shallow to isolate which one carries the effect. Finally, accepted work either demonstrates the conditioning recipe across many tasks and domains or precisely characterizes the regime where it beats retraining, while rejected work demonstrates on a single task or omits the obvious simpler comparison — longer context, nearest-neighbor lookup, or plain multitask — that would establish the conditioning's unique value.\n\n## Oral vs HC gap\nThe HC sample here is thin — only two papers — so this contrast is suggestive rather than firm. Both high-cited-but-not-Oral papers were impactful, reproducible empirical demonstrations that a conditioning recipe works at surprising scale or sample efficiency, but reviewers flagged them as primarily empirical or dataset-curation-driven and left an attribution loophole open, such as the missing train/eval data-overlap analysis needed to defend a 'true zero-shot' claim. The Oral papers in the same family pair the empirical demonstration with a move that isolates why the conditioning works: an ablation that specifically toggles the conditioning signal against a matched non-conditioned multitask baseline, a characterization of the optimization dynamics that motivate the design, or a theoretical account with finite-sample bounds. In short, graduating to Oral appears to require closing the attribution gap — showing not just that conditioning generalizes but mechanistically what makes it generalize — rather than adding raw scale or more benchmarks.\n\n## Reviewer expectations\n- **Run an ablation that isolates the conditioning signal — comparing instruction, format, or retrieval conditioning against the same multitask training without it — to prove the gain comes from conditioning and not merely from broader exposure.** _(source: both)_\n- **Provide a contamination or data-overlap analysis between the adaptation tasks and the held-out evaluation set before any genuine held-out or zero-shot generalization claim is accepted.** _(source: both)_\n- **Compare against the obvious cheaper alternative — longer input context, nearest-neighbor lookup, or plain multitask fine-tuning — so the unique value of the conditioning or retrieval is established rather than assumed.** _(source: reject_reviews)_\n- **Justify each component of a multi-module conditioning pipeline with ablations that isolate its contribution; shallow ablations over interacting components are treated as insufficient.** _(source: both)_\n- **Demonstrate that the recipe is generic across multiple tasks or domains and explain how the conditioning signal is obtained without a manual, per-task search.** _(source: reject_reviews)_\n- **Characterize sensitivity to the quality and coverage of the conditioning source — the demonstration or retrieval database — and to the distributional gap between that source and the test domain.** _(source: both)_\n\n## Cognitive barriers\n- The field defaults to the assumption that adaptation requires parameter updates, more capacity, or target-task data, so it is hard to imagine that expressing a task purely as conditioning could match or beat retraining — the prior even holds that targeted adaptation narrows a model toward its training distribution rather than broadening transfer.\n- Practitioners instinctively diagnose the bottleneck as a shortage of data or capacity when it is actually distributional alignment or the format-parsing skill itself; recognizing that a handful of well-chosen conditioning signals can outweigh hundreds of thousands of generic annotations requires inverting the volume-is-the-constraint intuition.\n- Several monotonicity and commitment assumptions stand in the way — that a more accurate source is always a better teacher, and that a surrogate prediction must commit to a single best label — and breaking them demands seeing how input-channel boundaries or coverage effects silently violate the default.\n- Reaching the method requires noticing that 'how to read context' is a different and far cheaper learning target than 'what to do,' which means stepping outside the labeled-transfer problem formulation entirely rather than extending it incrementally — an uncomfortable reframing of what the parameters are even supposed to memorize.\n\n## Examples\n### Oral lessons\n- When labeled samples are sparse, calibrate the estimated distribution by borrowing spread statistics from structurally similar, well-sampled categories rather than fixing the classifier — the regularity that similar categories share spread in learned representation space is the unlock.\n- Holding out entire task categories, not just held-out instances, is what converts a 'generalization' claim from in-distribution performance into evidence of genuine cross-category transfer.\n- The efficacy of cross-type transfer is governed by whether the source concentrates on features the target can also access, so a higher-performing source is not necessarily a better teacher.\n- Treat a cross-domain gap as distributional rather than structural: aligning representation distributions before adaptation can replace bespoke architectural redesign and even predicts downstream performance.\n- Train the model to read the conditioning channel as a first-class input — retrieval-conditioned or format-conditioned input baked into training — otherwise the architecture quietly reduces to an ordinary pretrained predictor.\n- Parameters need only learn how to interpret context, not what to do, so a task-agnostic context-interpreter can be bootstrapped from cheap, procedurally generated synthetic data and still transfer to real tasks.\n\n### Reject lessons\n- Claiming 'no adaptation needed' while training on data drawn from the evaluation domain makes the comparison unfair and the generalization claim impossible to attribute to the mechanism.\n- Porting a retrieval or conditioning technique to a new modality without explaining why its similarity metric captures task-relevant structure reads as under-theorized transfer, especially when the obvious cheaper baseline of simply extending the input context is never tested.\n- A conditioning recipe that requires a manual, task-specific search for the right auxiliary signal — and is shown on only one task — fails the genericity bar reviewers apply to a proposed methodology.\n- Stacking many interacting modules without ablations that isolate each component's contribution leaves the true source of the gain unjustified and turns complexity into a soundness liability.\n- A method that works only under idealized access assumptions and decays under realistic conditions such as larger data or parameter-efficient adaptation cannot support a claim of general contribution.\n\n_(corpus support: 18 papers under cluster-level primary)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-patterns/algebraic_equivalence_unification.md", "sha256": "f52205190e01c73e751d586bafb44b53df85d3a75a6a58214922b6b0c45a9a33", "text": "# Prove Equivalence to Unify\n_id: `algebraic_equivalence_unification`_\n\n**Plain alias**. _Prove equivalence to unify methods_\n\n**Definition**. Establish an algebraic equivalence showing that distinct procedures, or a family of seemingly different objectives, are the same thing — collapsing a multi-stage pipeline into one stage or unifying heuristics under a single principled form.\n\n**Operational signature**. identify distinct procedures/objectives → prove an algebraic equivalence between them → collapse the stages or unify them into one principled form\n\n**When to apply**. When two procedures or a family of heuristics look different but you suspect they optimize the same thing.\n\n## Success conditions (from Oral)\n- **The equivalence is an exact closed-form identity (reparameterization, change of variables, or loss decomposition), not an approximate or empirically-observed correspondence.**\n - rationale: An exact identity transfers properties and guarantees losslessly between the unified objects, so any improvement proven on one side holds on the other; an approximate link leaves reviewers asking whether the residual gap, not the identity, drives the observed behavior.\n- **The identity is used to subtract structure — collapsing a multi-stage pipeline into one stage, removing an auxiliary learned component, or showing one family's machinery is redundant.**\n - rationale: Unification earns its keep by reducing component count, which simultaneously lowers compute, removes sources of instability, and makes the contribution legible; a unification that leaves the system as complex as before reads as relabeling.\n- **The equivalence is generative: it spawns new objectives, algorithms, or improved variants that the separate framings could not produce, with a measured payoff.**\n - rationale: An identity that opens a previously invisible design space converts a theoretical observation into an actionable principle, and the new artifacts give reviewers concrete evidence the abstraction is the right one rather than a coincidence.\n- **The work names a previously hidden quantity or mechanism that the identity reveals all the unified procedures to be implicitly optimizing.**\n - rationale: Naming the shared latent object turns a pairwise coincidence into a principle the community can reason about and build on, and it is the act of naming that makes the corrective intervention or new method visible at all.\n- **The precise structural condition under which the equivalence holds is stated and characterized (e.g., a normalization constraint, monotonic weighting, or curvature/regularity assumption).**\n - rationale: Stating the boundary converts a sweeping claim into a falsifiable, scoped result; it also pre-empts the standard reviewer challenge of 'when does this break down' and signals that the authors understand the mechanism rather than the surface correlation.\n- **A surface-level failure attribution (data scarcity, capacity, objective landscape) is reattributed to a structural cause exposed by the identity, and that reattribution is verified.**\n - rationale: Moving the diagnosis from a resource problem to a structural choice (divergence geometry, optimizer bias, a single loss term) is what makes the fix principled and minimal, and the verification step is what separates a real causal claim from a plausible story.\n\n## Failure modes (from Reject)\n- **Reinterpreting an existing method as one instance of a broader parametric family, where the only new degree of freedom is a tunable scalar.**\n - rationale: Embedding a method in a one-parameter family feels like unification but contributes no new structure; reviewers reduce the contribution to 'an empirical investigation of a hyperparameter' because the generalization neither eliminates anything nor explains a previously mysterious behavior.\n- **Composing two existing methods into a pipeline and presenting the composition as a unified or principled form.**\n - rationale: Chaining a debiasing step into an exploration step, or a Bayesian wrapper around a semi-supervised loss, adds a stage rather than proving two things are the same object, so it is judged as engineering without theoretical novelty and is asked for guarantees the composition does not provide.\n- **Transplanting a regularizer, loss, or technique from a neighboring setting into a new one and validating only by an empirical gain.**\n - rationale: A transplant is not an equivalence; without a proof that the borrowed mechanism is principled in the new setting, reviewers read it as an 'empirical trick' and discount gains that may stem from tuning rather than the claimed structural insight.\n- **Grounding the equivalence or decomposition in an optimality assumption that the trained system may never realize.**\n - rationale: A decomposition valid only at an idealized optimum cannot be trusted for actual models, so the central claim becomes unverifiable in practice and reviewers question whether the asserted terms or cancellations occur at all in the regime of interest.\n- **Proving a unification that does not demonstrably address the shortcoming that motivated the work.**\n - rationale: Added generality with no corresponding fix leaves reviewers seeing motion without progress; when the stated problem (instability, mismatch, bias) persists after the generalization, the contribution looks like an unmotivated abstraction.\n- **Validating an elegant identity with thin evidence — a single dataset, marginal gains, or missing head-to-head comparisons against the very methods being unified.**\n - rationale: The methodology's whole value rests on the equivalence and its payoff, so when the experimental design omits the unified families as baselines or shows only marginal improvement, there is nothing to compensate for the unproven practical significance, and the paper falls below bar even when technically sound.\n\n## Oral vs Reject gap\nAccepted work proves an exact algebraic identity — a closed-form reparameterization, change of variables, or loss decomposition — and pins down the precise structural condition under which it holds, then uses the identity to eliminate a stage or component and to derive new objectives or algorithms that post a concrete payoff (major speedup, restored stability, state-of-the-art accuracy). Rejected work instead embeds an existing method inside a broader parametric family whose only new content is a tunable scalar, or chains two existing methods into a pipeline, and labels either move 'unification' without proving the procedures are the same object or showing the generalization fixes the problem it names. Concretely, accepted papers reduce component count and benchmark head-to-head against the very methods they unify, while rejected papers add a term, stage, or knob and validate on a single dataset or with the unified baselines missing. Accepted papers also reattribute the original failure to a newly-exposed structural cause and verify it; rejected papers rest their decomposition on optimality assumptions they cannot confirm hold for trained systems. The dividing line is whether the equivalence subtracts structure and generates something new, versus merely re-describing what already exists.\n\n## Oral vs HC gap\nThe high-cited (non-oral) sample here is thin — only two papers — so this comparison is tentative and should be read as suggestive rather than settled. Both HC papers deliver a genuine unification or a reusable baseline the community adopts, but neither reframes a widely-held assumption nor collapses a canonical pipeline: one is explicitly characterized as a strong, reproducible combination of existing techniques whose novelty reviewers called incremental, and the other is a solid family-spanning theoretical bound that does not overturn how the field conceptualizes the problem. Oral papers add a reframing move on top of the unification — they make a previously-tacit assumption explicit and then false (two families are secretly the same, a component is eliminable, a failure has a different cause) — and the equivalence immediately spawns new methods with broad, demonstrated impact. In short, HC unifications get adopted as tools or baselines, whereas Oral unifications change what the field believes and what it builds next.\n\n## Reviewer expectations\n- **The equivalence should be both surprising and immediately practical — a clean mathematical identity that also yields a new method or a major efficiency gain, not a result that is only theoretically tidy.** _(source: oral_reviews)_\n- **Provide the missing theoretical explanation for a widely-used baseline and derive improved algorithms from that explanation, so the unification justifies the status quo and replaces it.** _(source: oral_reviews)_\n- **A generalization must demonstrably address the shortcoming that motivated it; when the contribution reduces to an empirical investigation of a newly-introduced hyperparameter, it is rejected.** _(source: reject_reviews)_\n- **Validate against the exact methods being unified or generalized as baselines; missing head-to-head comparisons, single-dataset evidence, or marginal gains are treated as decisive weaknesses.** _(source: reject_reviews)_\n- **Decompositions and identities that hold only at an idealized optimum must be shown to hold for trained models in practice, or the central claim is judged unverifiable.** _(source: reject_reviews)_\n- **Characterize the boundary of the claimed equivalence — state the conditions under which it holds and analyze when it breaks down.** _(source: both)_\n\n## Cognitive barriers\n- The field treats two procedures or objective families as categorically distinct design philosophies and argues about which category a method belongs to, instead of asking whether both optimize the same underlying object; this method-centric framing blocks the lift to a shared abstraction even when the construction is technically available.\n- A quantity is evaluated only on the basis everyone assumes it encodes, or a component is accepted as an unavoidable architectural necessity, so no one asks what else the quantity could represent or whether the component is eliminable.\n- A failure mode is attributed to resource scarcity, limited model capacity, or the structure of the objective landscape, when its true cause is a structural choice — the geometry of a chosen divergence, an optimizer's implicit bias, or a single term inside the loss.\n- The tool that proves the equivalence lives in a neighboring field, and seeing that the same formal object governs both problems requires abandoning the separate origin narratives that motivated each construction and recognizing a bridge no one was looking for.\n\n## Examples\n### Oral lessons\n- When a quantity is invariant to a transformation that leaves the prediction unchanged, that invariance severs it from its assumed meaning and forces the question of what it actually encodes.\n- A two-stage pipeline whose first stage produces an unobserved intermediate often collapses to a single stage once you express that intermediate analytically in terms of the final solution.\n- The apparent gap between two objective families can reduce to a transposition of the axis along which a shared matrix is measured — a categorical distinction can hide a structural identity.\n- A closed-form result from a neighboring field can supply the exact mechanism a long-standing instability needs, but only after you question the distributional assumption everyone inherited without testing.\n- Empirically strong but theoretically opaque objectives are frequently a single principled objective evaluated under an implicit change of the effective data distribution.\n- Naming the hidden invariant that several methods each optimize indirectly lets you build a direct optimizer for it that outperforms all of them and removes their incidental artifacts.\n\n### Reject lessons\n- Reinterpreting an existing method as one instance of a parametric family is not a contribution when the only new degree of freedom is a tunable scalar.\n- Composing two partial solutions into a pipeline reads as engineering, not unification, unless you prove the two components are in fact the same object.\n- Transplanting a regularizer that worked elsewhere into a new setting demands a proof that the transplant is principled, not just a single benchmark where it helps.\n- A decomposition that hinges on an optimality assumption the trained model may never reach will be challenged as unverifiable, no matter how clean the algebra.\n- If a generalization does not demonstrably fix the shortcoming that motivated it, reviewers see added generality with no payoff.\n- An equivalence or smoothing scheme that overlaps an already-published construction leaves only incremental combination work, even when the framing feels fresh.\n\n_(corpus support: 59 papers under cluster-level primary)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-patterns/architectural_operator_substitution.md", "sha256": "3d19340d40077d188b19d8db29f6dc531068b2f94f474a814a12e6da47a220e7", "text": "# Substitute the Operator or Representation\n_id: `architectural_operator_substitution`_\n\n**Plain alias**. _Substitute the operator or representation_\n\n**Definition**. Replace or relocate a costly computational operator, primitive, or intermediate representation with a cheaper surrogate that provably preserves the essential property (expressivity, sensitivity bound, curvature spectrum), breaking a complexity or cost bottleneck.\n\n**Operational signature**. identify an expensive operator or representation → substitute a cheaper surrogate → prove it preserves the essential property (expressivity, sensitivity, curvature)\n\n**When to apply**. When a cost/complexity bottleneck comes from an operator or representation that can be cheaply approximated without losing what matters.\n\n## Success conditions (from Oral)\n- **The substitution is anchored by an explicit, named structural invariant that is proven to hold rather than assumed.**\n - rationale: Accepted work isolates the precise algebraic property (positivity, low-rank-plus-normal structure, bounded per-element sparsity, a bijective correspondence) that makes the cheaper form compute the same object; this invariant is what converts 'a cheaper approximation' into 'a guaranteed-equivalent rewrite,' and its absence is what makes a swap look arbitrary.\n- **The preserved property is delivered as a formal guarantee with bounds, not as benchmark parity.**\n - rationale: When the essential quantity (estimation bias, approximation error, traversal-path length, landscape geometry, additive error) is bounded in closed form, reviewers can verify the surrogate is faithful independent of any dataset, which is why theoretically-grounded substitutions become durable references.\n- **Optimality or necessity is pinned down via matching lower bounds or insufficiency arguments.**\n - rationale: Proving a lower bound that the surrogate meets, or proving that each cheaper ingredient alone fails, upgrades a scalability claim from 'we found something faster' to 'this is as good as possible,' which is the structural difference between a useful trick and a settled result.\n- **One substitution resolves multiple symptoms traced to a single shared root cause, or unifies two previously-separate constructs.**\n - rationale: Diagnosing that two apparently independent pathologies (slow convergence and high cost, two parallel modeling paradigms) share one mechanism, then dissolving both with one change, demonstrates that the author understood the structure rather than patched a surface symptom.\n- **The cheaper form is shown to be efficient in practice — hardware-friendly and drop-in — not only asymptotically.**\n - rationale: Substitutions that map onto dense linear algebra, fast algorithmic primitives, or existing pipelines without architectural rewrites get adopted and built upon, so the asymptotic win is realized as a real, reproducible speed/memory gain rather than a paper-only complexity claim.\n- **Validity is demonstrated across heterogeneous domains, modalities, or constraint models from a single mechanism.**\n - rationale: Showing the same surrogate works across unrelated tasks (or instantiates uniformly across multiple trust/constraint models via one oracle interface) signals the contribution is the structural principle itself, not a benchmark-specific tuning.\n\n## Failure modes (from Reject)\n- **A known cheap surrogate is wrapped around an existing pipeline without surfacing any new identifying structure.**\n - rationale: When the move amounts to attaching a generic sketch, a fixed curvature proxy, a solver substitution, or composing two prior results, reviewers read it as methodological dressing; the cheaper machinery is real but no previously-blocked structure was unlocked, so the contribution collapses to recombination.\n- **Preservation of the essential property is claimed but supported only empirically or under contrived, restrictive regimes.**\n - rationale: An equivalence shown on a single toy experiment, a degenerate dimensionality, or resting on an unproven ansatz fails precisely on the claim reviewers stress-test, because the whole chain of downstream results inherits the unverified linchpin and cannot be trusted at scale.\n- **The reported gain is confounded — not isolated from co-introduced components or measured against the strongest efficient baselines.**\n - rationale: Substituting the operator while also adding features, normalization fixes, or new pretraining, then comparing only to the original expensive baseline, makes it impossible to attribute improvement to the substitution itself, and reviewers consistently flag the missing ablation or the missing efficient competitor.\n- **The substitution is technically correct but judged obvious or incremental.**\n - rationale: If the equivalence was already implicitly known, trivially adaptable from a prior proof, or improves only a small constant, the work is penalized regardless of clean execution, because demonstrating the move is not the same as demonstrating that reaching it was hard.\n- **The real bottleneck is left untouched, producing a silent performance ceiling.**\n - rationale: Swapping the named-expensive operator when the binding constraint actually lived in the surrounding modules or the learning signal yields a system that runs without error yet cannot exploit the intended capacity, which reviewers detect as unexplained or saturated gains.\n- **Presentation obscures the load-bearing argument, or the claim is overstated relative to what is shown.**\n - rationale: When the key derivation is buried, a parallelization or generality claim is asserted but not actually delivered, or correctness becomes unclear, reviewers cannot locate the contribution and default to rejection even when the underlying idea has merit.\n\n## Oral vs Reject gap\nThe sharpest observable split is proof versus assertion of preservation: accepted work names a specific, previously-unrecognized structural invariant (a positivity constraint, a low-rank-plus-well-conditioned decomposition, a bounded-sparsity property, a bijective dual) and proves the cheaper surrogate retains the essential quantity, whereas rejected work substitutes an already-known cheaper form and supports equivalence empirically or only on a contrived regime (single experiment, degenerate width, unproven ansatz). Accepted papers go further and pin down necessity — matching lower bounds, proofs that each ingredient alone is insufficient, or a demonstration that training independently recovers the constructed configuration — while rejected papers present one feasible cheaper form without arguing why it is the right one or why the discarded structure was redundant. Accepted work also isolates the substitution's effect with ablations and reports a concrete complexity collapse against the strongest efficient alternatives; rejected work confounds the gain with co-introduced components or compares only to the original expensive baseline. Finally, rejected substitutions frequently leave the true bottleneck untouched (the surrounding modules or the training signal), producing unexplained or saturated gains, whereas accepted ones diagnose the binding constraint correctly before swapping it.\n\n## Oral vs HC gap\nThe high-cited-but-non-Oral sample here (roughly ten papers) is dominated by strong, immediately adoptable substitutions — disentangled or convolution-generated positional encodings, large-kernel convolutions replacing attention, residual-MLP backbones, anchor-box queries, gather-and-distribute fusion — that win decisively on empirical effectiveness, simplicity, and drop-in usability, and several were explicitly tagged by reviewers as 'incremental' in novelty (the core mechanism recombined from prior art). What lets a substitution graduate to Oral is the addition of a closed formal result that grounds the swap: a provable preservation guarantee (unbiased estimation, numerical stability, simultaneous path-length-and-complexity bounds, a spurious-minima-free landscape theorem), a matching lower bound establishing optimality, or a constructive equivalence that training is then shown to recover — rather than a mechanism whose justification remains empirical. Put concretely, HC papers establish that the cheaper operator works and is widely usable, often releasing code that drives adoption; Oral papers additionally close a theoretical gap or resolve/unify an open question, so the substitution carries both the engineering payoff and a proof of why it must work. The HC sample is small, so this should be read as a directional pattern rather than a hard law.\n\n## Reviewer expectations\n- **Justify the substitution with a proof that it preserves the target property, and explicitly articulate what was technically hard about reaching it — benchmark wins alone do not suffice.** _(source: both)_\n- **Provide ablations that isolate the substituted operator's contribution from any co-introduced components (extra features, normalization changes, auxiliary pretraining).** _(source: both)_\n- **Compare against the strongest efficient alternatives, not merely the original expensive baseline the surrogate replaces.** _(source: both)_\n- **Do not merely recombine known surrogates; reviewers penalize swaps that add no new identifying structure over existing approximations or that read as a composition of prior works.** _(source: reject_reviews)_\n- **Show the claimed equivalence or guarantee holds beyond toy or contrived regimes and rests on a proven assumption rather than an unverified ansatz or a single experiment.** _(source: reject_reviews)_\n- **Tie the theoretical result back to the practical motivation that justified the substitution, and ensure improvements exceed run-to-run variance against strong baselines.** _(source: both)_\n\n## Cognitive barriers\n- The canonical, expensive form is tacitly treated as the irreducible primitive — the natural object the field composes and optimizes around — so no one asks whether an algebraically equivalent but cheaper representation exists that satisfies the same structural requirements.\n- Two separate symptoms, or two parallel non-communicating research threads, are assumed to require separate remedies, which hides that a single substitution can dissolve both at once or that the two objects are formally the same thing in different vocabularies.\n- An apparent tradeoff (path length versus cost, efficiency versus quality, compactness versus robustness) is accepted as fundamental, when it is actually an artifact of the chosen problem formulation that a reparameterization can break.\n- The expensive cost is perceived as a structural inevitability rather than a consequence of operating at the wrong layer — injecting the cheap operation at an intermediate representation instead of the raw input or final output is invisible while the field conflates the task with the level at which it must be solved.\n\n## Examples\n### Oral lessons\n- When two pathologies appear to need separate patches, hunt for the single shared root cause — one substitution that dissolves both at once is far stronger than two independent fixes.\n- Equivalent expressive coverage does not imply equivalent cost: a reparameterization that spans the same function space can still unlock linear-time operations the original form algebraically forbids.\n- The decisive move is often one small structural constraint — non-negativity, a low-rank split, a bounded per-element influence — that simultaneously preserves correctness and enables the efficient rewrite.\n- Proving a matching lower bound is what turns 'our surrogate is cheaper' into 'our surrogate is optimal,' and that upgrade is frequently what separates a graduating result from a useful trick.\n- Changing where you inject the cheap operation — an intermediate, sensitivity-reduced representation rather than the raw input or the final output — can be the entire contribution.\n- An expensive mechanism can often be re-read as a familiar cheap one (a memory lookup, a single optimization step, a kernel evaluation); showing that standard training independently recovers that configuration proves the equivalence is real rather than merely analogical.\n\n### Reject lessons\n- Wrapping a known approximation — a generic sketch, a fixed second-order proxy, an off-the-shelf solver — around an existing pipeline without surfacing new identifying structure reads as dressing, not contribution.\n- An equivalence shown only on a single toy experiment or a degenerate, contrived regime does not establish that the substitution preserves what matters at realistic scale.\n- Claiming a property is preserved while leaning on an unproven ansatz or an asserted equivalence leaves the entire result resting on an untested linchpin reviewers will pull.\n- Swapping the named-expensive operator while leaving the true bottleneck (surrounding normalization, the pretraining signal) untouched produces a silent performance ceiling that surfaces as unexplained gains.\n- Benchmarking only against the original expensive baseline, with no comparison to the strongest efficient alternatives, makes a 'cheaper-and-competitive' claim impossible to credit.\n- A correct but already-known equivalence, or a gain that is marginal and within variance against strong baselines, is judged incremental no matter how clean the derivation.\n\n_(corpus support: 109 papers under cluster-level primary)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-patterns/assumption_audit_and_pivot.md", "sha256": "09e166f1511831bae513bd7c25cc63440c5f14110a88430af8b9c5d157aa5cc3", "text": "# Audit and Pivot an Assumption\n_id: `assumption_audit_and_pivot`_\n\n**Plain alias**. _Audit the load-bearing assumption and pivot_\n\n**Definition**. Locate the load-bearing implicit assumption a result, guarantee, or defense rests on, then pivot on it: relax it to a weaker condition and re-prove (extending the guarantee), or violate it with a constructed counterexample/exploit (breaking the system or unlocking new behavior).\n\n**Operational signature**. identify the implicit assumption a result or defense rests on → relax it (weaker condition) or violate it (counterexample/exploit) → re-derive the guarantee or demonstrate the new behavior\n\n**When to apply**. When a result's strength or a system's safety hinges on an assumption that real settings can weaken or that an adversary can violate.\n\n## Success conditions (from Oral)\n- **The relaxed or violated condition is shown to hold in the real setting, not merely assumed — measured in natural data, or demonstrated reachable by a bounded adversary.**\n - rationale: A pivot is only valuable if the weaker precondition is actually satisfied where the method will be used; grounding the condition empirically converts a theoretical relaxation into a usable one and pre-empts the reviewer suspicion that one strong assumption was swapped for another.\n- **A relaxed upper bound is paired with a matching lower bound, exact equivalence, or impossibility result that certifies the pivot as the genuine barrier.**\n - rationale: Tightness certificates separate a loose extension from a sharp one: they prove the audited assumption — not the analysis technique — was what limited prior results, which is the structural claim the contribution actually makes.\n- **The audited assumption is replaced by a strictly weaker or structurally different one, often shifting the burden from the prior distribution to the geometry of the map or from pointwise to expectation-level conditions.**\n - rationale: Moving the constraint to a different and milder level of the problem is what unlocks new achievable results; a same-strength substitution re-imports the original barrier and leaves the achievable frontier unchanged.\n- **For exploits and violations, the success is traced to a structural property of the pipeline and packaged as a systematic design template rather than a one-off attack.**\n - rationale: A root-cause-level explanation generalizes across instances and gives the community a reusable lens, whereas an isolated demonstration is fragile and reads as engineering rather than insight.\n- **Prior methods are shown to fail precisely because of the audited assumption, via explicit failure-case characterization presented before the positive result.**\n - rationale: Demonstrating that the assumption is the binding constraint — not an incidental simplification — is what makes the pivot necessary rather than optional, and reviewers consistently reward this diagnostic clarity.\n\n## Failure modes (from Reject)\n- **Pivoting on an assumption whose relaxation produces no new achievable result, yielding a generalization that reviewers read as incremental.**\n - rationale: When the weaker condition leaves the attainable guarantee or rate unchanged, the contribution collapses to 'we also handle case X' with no unlocking; the absence of a qualitatively new capability is the most cited reason these attempts fall short.\n- **Replacing the audited assumption with an equally strong or unverifiable substitute — a restrictive distributional form, or an abstract regularity condition no known instance is shown to satisfy.**\n - rationale: The substitution re-imports the very barrier the paper claimed to remove, and reviewers flag that the new condition is untestable or unmotivated, so the claimed relaxation is not actually a relaxation.\n- **Demonstrating an exploit or violation without validating it against an adaptive or informed defender.**\n - rationale: The central claim of a violation is that the property is hard to counter; showing only that an attack succeeds against a static target leaves that claim unproven, and the 'commonness implies safety' or 'stealth' arguments remain intuitive rather than substantiated.\n- **Stacking several off-the-shelf components and attributing the gain to the bundle without isolating which pivot is load-bearing.**\n - rationale: Reviewers cannot identify a unifying principle and read the work as an engineering combination; without an ablation pinning the benefit to a specific structural move, the novelty above the constituent parts is unconvincing.\n- **Naming a theoretical tool or framework as the contribution while never exercising it in the proofs, or shipping an error in the stated result.**\n - rationale: If the advertised machinery (a continuous-time analysis, a new perspective) is absent from the actual derivation, or a headline rate is wrong, confidence in the entire pivot evaporates regardless of the idea's appeal.\n- **Failing to sharply differentiate from prior work that already performed a near-identical pivot.**\n - rationale: In crowded areas a correct but under-differentiated move reads as redundant; reviewers point to the closest precedent and demand a decisive reason to prefer the new approach, which an unfocused positioning cannot supply.\n\n## Oral vs Reject gap\nAccepted executions perform three observable moves that rejected ones skip. First, after naming the assumption they verify the pivoted condition concretely — measuring that the weaker condition holds in real or natural data, or that the violated property is reachable by a bounded adversary — whereas rejected papers relax an assumption and immediately substitute an equally strong or unverifiable one (a linear-Gaussian form, an abstract regularity condition with no exhibited satisfying function class). Second, accepted relaxations ship a tightness certificate — a matching lower bound, an exact algebraic equivalence, or an impossibility result — while rejected ones offer only a one-directional upper bound or a bare empirical demonstration, leaving open whether the pivot was the real barrier or just loose analysis. Third, accepted papers establish that prior methods fail precisely because of the audited assumption via an explicit counterexample or failure-case characterization, and for exploits they trace success to a structural pipeline mechanism that becomes a reusable template; rejected papers instead present the work as a generalization or an isolated trick, bundle off-the-shelf components without isolating the load-bearing pivot, or never exercise the theoretical tool they claim as their contribution.\n\n## Oral vs HC gap\nWith a moderate HC sample (~10 papers, several of them attacks, benchmarks, or scaling studies), the pattern is that HC papers pivot on an assumption and characterize the consequence at scale or package it as urgently needed reusable infrastructure — a power-law fit for an attack, a measured safety/helpfulness trade-off, a large boundary-targeting benchmark, a broadly transferable defense — but typically stop at empirical characterization or a single bound. Oral papers add a tightness certificate on top of the same pivot: a matching lower bound, an exact equivalence, an identifiability proof, or an impossibility/optimality result that converts 'this works and here is how well' into 'this is provably the right lever and here is the exact boundary.' Oral papers also more often formalize the failure modes of prior approaches before presenting the positive result, so the pivot reads as a principled diagnosis rather than a strong empirical finding. Given the sample size this is a tendency rather than a strict law.\n\n## Reviewer expectations\n- **When a result rests on a relaxed assumption, supply a matching lower bound or tightness certificate confirming the analysis is not loose; the absence of a matching bound is repeatedly cited as a reason to hold back.** _(source: both)_\n- **Characterize the new or weakened assumption — show which function classes, distributions, or real settings actually satisfy it — rather than introducing it as a convenient condition that merely lets the proof go through.** _(source: reject_reviews)_\n- **For attacks and violations, validate against adaptive or informed defenders, not just a static target, before claiming the violated property is hard to counter.** _(source: reject_reviews)_\n- **Sharply differentiate the pivot from prior work that made a similar move, giving a decisive reason to prefer it; overlap with a close precedent (a prior drift-correction, a prior attack surface) must be addressed head-on.** _(source: both)_\n- **Do not advertise a theoretical framework or tool as the contribution unless it is actually used in the derivation, and ensure headline rates and claims are error-free.** _(source: reject_reviews)_\n- **Establish and cleanly characterize the failure cases of prior approaches before presenting the positive result, so the pivot is seen as a principled diagnosis of the binding constraint.** _(source: oral_reviews)_\n\n## Cognitive barriers\n- The audited assumption is invisible because the entire subfield inherited a framing that treats it as a fixed precondition rather than a controllable choice — a 'fixed' local objective, a 'required' supervision signal, a trigger that 'must' live in the input. You cannot relax what you do not first see as a variable, so the hard part is denaturalizing a convention everyone reasons within.\n- A stated safety or design property is mistaken for an inherent guarantee: practitioners read 'reduced probability mass,' 'norm-bounded imperceptibility,' or 'scale dilutes adversaries' as protection, which masks that the very property is the exploitable lever. Reframing a feature as a vulnerability requires inverting the intent the property was introduced to serve.\n- The pivot often hinges on importing a tool from an adjacent domain and recognizing it transfers — concentration tools from sequential testing, blocking from dependent-sequence analysis, scalarization from multi-objective optimization. Because the tool was built for a different purpose, its applicability to the audited assumption is not visible from within either field's standard practice.\n- The relaxation frequently lives at a different level of the problem than the natural formulation suggests — reparameterizing the latent basis instead of the observed variables, constraining the geometry of the generative map instead of the prior distribution, measuring increments or contrasts instead of raw values. The obvious formulation hides the lever, so the move feels unreachable until one deliberately changes the level of analysis.\n\n## Examples\n### Oral lessons\n- When a guarantee is blocked by a quantity treated as fixed, ask whether that quantity is actually a controllable variable you can reshape cheaply each step — turning a hard constraint into a degree of freedom often dissolves the barrier.\n- Measure that the weaker condition you rely on actually holds in real data before claiming the relaxation is practical; a precondition verified in natural statistics is worth far more than one merely assumed.\n- Pair every relaxed upper bound with a matching lower bound, exact equivalence, or impossibility result, so the pivot is certified as the true barrier rather than an artifact of loose analysis.\n- Replace a distributional assumption with a structural or architectural one when the problem's geometry already encodes the constraint — identifiability can rest on the shape of the generative map rather than on the prior over latents.\n- When building an exploit, trace its success to a structural property of the pipeline and convert it into a reusable design template rather than presenting an isolated trick.\n- Read every 'bounded,' 'small,' or 'imperceptible' guarantee as a budget an adversary can neutralize — a stated protective property is frequently the exact lever to violate.\n\n### Reject lessons\n- Relaxing an assumption that leaves the achievable result unchanged reduces the contribution to a generalization reviewers read as incremental.\n- Swapping the audited assumption for an equally strong or unverifiable one — a restrictive distributional form, or a regularity condition no known instance is shown to satisfy — re-imports the barrier you claimed to remove.\n- Demonstrating an exploit only against a static defender leaves the central claim, that the violation is hard to counter, unproven.\n- Bundling several off-the-shelf components and crediting the bundle, without isolating which pivot is load-bearing, invites a 'no unifying principle' rejection.\n- Naming a theoretical framework as the contribution while never exercising it in the proofs — or shipping an error in the stated rate — collapses confidence in the whole result.\n- Failing to sharply distinguish the work from a prior near-identical pivot makes even a correct result read as redundant in a crowded area.\n\n_(corpus support: 181 papers under cluster-level primary)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-patterns/characterize_limit_then_surpass.md", "sha256": "546e02ccfcf965d4084f8d3a00776268f93212b32a3849f2fa20c7a287db5001", "text": "# Characterize a Limit, Then Surpass It\n_id: `characterize_limit_then_surpass`_\n\n**Plain alias**. _Characterize the limit, then surpass it_\n\n**Definition**. Formalize the exact distinguishability or expressivity limit of an established method class as a separation criterion, then construct an augmented operator proven to exceed that limit.\n\n**Operational signature**. identify a method class's exact distinguishability/expressivity limit → formalize it as a separation criterion → construct an augmented operator that provably exceeds it\n\n**When to apply**. When an established method class plateaus and you can pinpoint a structural property it provably cannot capture.\n\n## Success conditions (from Oral)\n- **The limit is stated as a tight, exact characterization (necessary-and-sufficient distinguishability conditions or a proven tight bound), not a lower bound or a heuristic gap.**\n - rationale: An exact characterization is what makes the separation claim unassailable and, crucially, what lets the same object be reused to build the stronger operator; a merely lower-bounded or informal limit cannot anchor a provable surpassing construction.\n- **A single combinatorial or structural object simultaneously powers the impossibility proof and the construction that escapes it.**\n - rationale: When characterization and remedy flow from one device, the surpassing operator is guaranteed by construction to address exactly the property that was proven missing, eliminating the gap between 'what is absent' and 'what is added'.\n- **The augmented operator is PROVEN to strictly exceed the limit, not merely shown to win empirically.**\n - rationale: Strict-separation proofs convert an empirical plateau into a structural guarantee, which is the contribution reviewers in this cluster treat as the bar; empirical superiority alone is read as evidence of tuning, not of a new capability.\n- **The stronger operator preserves the original method's cost class, resolving the expressivity-efficiency tradeoff rather than trading one for the other.**\n - rationale: The reason the saturated class was attractive is its tractability; a remedy that sacrifices it merely re-enters the expensive higher-order regime the work set out to avoid, so retaining the cost class is what makes the gain usable.\n- **The limit is grounded in a concrete, practically-meaningful invariant or benchmark, and the new hierarchy is positioned precisely against the established one (above it, or provably incomparable).**\n - rationale: A grounded benchmark turns an abstract expressivity question into a falsifiable target with downstream relevance, and precise positioning against the prior hierarchy stakes out genuinely new territory rather than a marginal re-derivation.\n\n## Failure modes (from Reject)\n- **An informal analogy (e.g. 'both operations act as low-pass filters') is offered in place of a formal separation or impossibility proof.**\n - rationale: The analogy gestures at a mechanism without pinning down what is provably captured or missed, so the central claim rests on intuition; reviewers consistently flag the mechanism as underspecified and the contribution as unverified.\n- **The characterized limit is an artifact of a simplified or toy model rather than an intrinsic property of the real system.**\n - rationale: When the simplified setting trivially satisfies the property in question, the 'limitation' describes the toy assumption, not the target class, and the bridge to real systems is left as a weak empirical gesture that does not survive scrutiny.\n- **The claimed gap has already been closed or subsumed by prior or concurrent work.**\n - rationale: A surpassing result whose target is already exceeded becomes a redundant special case; without an exhaustive prior-art check, a single counterexample or a subsuming paper dissolves the premise entirely.\n- **An elegant formalism is imported but yields no new construction, prediction, or capability beyond existing definitions.**\n - rationale: Reframing a property in a fashionable framework without unlocking something the old framing could not produce reads as relabeling; reviewers ask what the formalism buys and find no answer.\n- **The work is purely descriptive — measuring, clustering, or comparing objects — without constructing an operator that beats a characterized limit.**\n - rationale: Characterizing structure is only half the methodology; absent a constructed remedy that provably surpasses the limit, the paper offers a measurement, not a method, and is judged to lack a usable contribution.\n- **Evaluation omits comparison against dedicated state-of-the-art baselines and the efficiency axis.**\n - rationale: Comparing only against an own-ablation or a single weak baseline leaves it unknown whether the new operator beats the methods actually competing in the space, and ignoring cost hides whether the gain is even affordable — both are read as evidential gaps.\n\n## Oral vs Reject gap\nAccepted executions prove a tight, necessary-and-sufficient characterization of the limit and then reuse the very object that proves the impossibility to construct the stronger operator, closing the loop with a strict-separation proof while explicitly retaining the original cost class. Rejected executions break this loop in identifiable ways: they substitute a spectral or structural analogy for the impossibility proof; they characterize a limit that is an artifact of a simplified model and so collapses outside the toy setting; they target a limit that prior or concurrent work already surpasses or subsumes; or they import a formalism that produces no new construction. A further observable split is on evaluation: accepted papers benchmark both power and cost against the full set of competing high-power methods and often supply explicit adversarial counterexamples that motivate the construction, whereas rejected papers omit dedicated baselines, ignore the efficiency axis, or compare only against their own ablation. The distinguishing behavior is therefore the presence of a single load-bearing object that does double duty (proof and construction) plus a proven, tractable strict improvement — not the mere ambition to go 'beyond' a method.\n\n## Oral vs HC gap\nThe high-cited (non-oral) sample for this methodology is empty — there are zero HC papers in the cluster — so no Oral-versus-HC comparison can be drawn from this data. With only Oral and Reject roles present, the only graduation signal observable here is the Oral-versus-Reject contrast (tight characterization plus a single device serving both impossibility and construction, with a proven tractable strict improvement), and any claim about what separates Oral from merely high-impact-but-non-oral work would be unsupported speculation given the absence of HC exemplars.\n\n## Reviewer expectations\n- **Demand an explicit proof that the new operator is provably strictly more expressive than (or provably incomparable to) the baseline, not just empirically better.** _(source: oral_reviews)_\n- **Demand the characterization be complete and tight — a full equivalence-class or necessary-and-sufficient result that resolves the open question, rather than yet another lower bound.** _(source: oral_reviews)_\n- **Demand that computational cost be quantified and compared against competing high-power methods, rewarding remedies that add the missing power at low overhead.** _(source: both)_\n- **Demand that the claimed gap genuinely exist and not be subsumed by prior or concurrent work, challenging assertions like 'no efficient method exists' with concrete counter-evidence.** _(source: reject_reviews)_\n- **Demand the formal framework yield novel predictions or capabilities beyond existing definitions and alternative theories, not merely re-describe a known phenomenon.** _(source: reject_reviews)_\n- **Demand comparison against dedicated state-of-the-art baselines on appropriate benchmarks, treating missing or weak baselines as disqualifying regardless of the framing's novelty.** _(source: reject_reviews)_\n\n## Cognitive barriers\n- The dominant abstraction actively discards the very structure that carries discriminative power (e.g. an unordered-collection view erases inter-element relations), so the missing property is invisible by construction and no one thinks to look for it.\n- The field habitually evaluates the method against proxy representations rather than the native target objects, which masks the fact that the method provably cannot capture the field's own stated objective until someone ports the separation argument back onto the real target.\n- The default response to a plateau is to reach for a more expensive higher-order operator and climb the complexity hierarchy; the harder reframing is to ask what specific, cheap-to-inject structural information is absent, which inverts the instinct that more power must cost more.\n- A tool from a continuous, geometric, or otherwise unrelated domain must be reinterpreted as a computable certificate on a discrete combinatorial structure, a cross-domain transfer the problem statement gives no hint to attempt.\n\n## Examples\n### Oral lessons\n- The strongest move is to find one combinatorial object that simultaneously proves the impossibility and powers the construction that escapes it — characterization and remedy from a single device.\n- When a method plateaus, ask 'what structural information is provably absent' rather than 'what more expensive operator can I stack' — once named, the missing ingredient is often cheap to inject.\n- Define an intermediate notion strictly finer than the saturated baseline yet strictly coarser than the intractable ideal; that middle rung is exactly where tractable gains live.\n- Reinterpreting a discrete combinatorial object through a continuous or geometric lens can turn a heuristic failure diagnosis into a computable, provable certificate.\n- A new power hierarchy is most compelling when proven incomparable to the established one, not merely above it — it stakes out genuinely new territory instead of a marginal extension.\n- Prove the stronger operator keeps the original method's cost class; expressivity gains bought at the price of tractability rarely clear the bar.\n\n### Reject lessons\n- Substituting an informal analogy ('both act as low-pass filters') for a formal separation proof leaves the mechanism underspecified and the central claim unsupported.\n- A limit derived inside a simplified model may be an artifact of its assumptions — if the toy system trivially satisfies the property, the 'limitation' says nothing about real systems.\n- Before claiming to surpass a limit, confirm the gap exists — concurrent or prior work that already subsumes your result turns the contribution into a redundant special case.\n- Claiming 'no efficient method exists' without an exhaustive prior-art check invites a single counterexample that dissolves the entire premise.\n- Importing an elegant formalism that produces no new prediction or construction beyond existing definitions reads as relabeling, not contribution.\n- A purely descriptive measurement study that clusters or compares objects without constructing an operator that beats a characterized limit offers no methodological payoff.\n\n_(corpus support: 15 papers under cluster-level primary)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-patterns/companion-combos.md", "sha256": "d3165ba86ae1546da37f8de0cecff93499afa700847e491ec071acdad12d9f23", "text": "# Companion-pattern combinations (attested co-occurrence)\n\nWhen a gap_closure leg's chosen pattern is the right FRAMING move but cannot\nitself produce the deliverable that `intake.contribution_type` commits to\n(canonical case: an `assumption_audit_and_pivot` leg on a `method` problem —\nthe audit names and inverts an assumption, but its honest deliverable is a\ntheorem / identifiability claim, not the runnable or empirical artifact a\n`method` paper must ship), the leg names a `companion_pattern` that DOES own\nthe missing deliverable. This file is the membership set of which companions\nare empirically real rather than forced.\n\n## How to use\n\nEach pattern below lists the set of patterns it co-occurs with in the corpus.\nThe list is a MEMBERSHIP SET, not a ranking — it is read as a yes/no test, so\nits internal order carries no priority and is never the basis of a choice.\n\n1. **Attestation (membership test).** The companion MUST be in the chosen\n pattern's set below. A pairing absent here was never observed together in\n the corpus and is presumed forced; do not use it.\n\n2. **Deliverable-fit (the actual choice).** Among the attested companions,\n take the ONE whose move owns the deliverable the primary pattern cannot\n produce for this `contribution_type`. This filter typically collapses the\n set to one or two: e.g. `controlled_diagnostic_design` owns a\n confound-isolating empirical separation; `architectural_operator_substitution`\n owns a runnable operator; `self_supervised_signal_engineering` owns a\n manufactured optimization signal. State the choice and its reason in\n `companion_rationale` (which missing deliverable, why this companion owns\n it) — the pick is anchored to that reason, never to list position.\n\nThe two checks are a conjunction: both must hold, and their order is\nirrelevant. Counts are omitted by design — co-occurrence frequency here mostly\nreflects how broad a framing pattern is, not how good a given pairing is, so\nranking by it would pull selection toward hub patterns instead of toward\ndeliverable-fit.\n\n## Provenance\n\nEdges = unordered main-pattern pairs co-occurring in >= 10 of the 1891\nmulti-label-tagged papers (HDBSCAN mcs=10 alignment). Source:\n`data/clustering/multilabel/paper_multilabel_v2.json`. Rebuild with\n`python3 -m scripts.build_companion_combos`. 15 patterns, 68 edges.\n\n## Allow-list\n\n\n### adapt_via_conditioning\narchitectural_operator_substitution · assumption_audit_and_pivot · decompose_and_delegate · generative_process_redesign · heterogeneous_decomposition · reframe_as_solvable_object · self_supervised_signal_engineering · structural_prior_encoding · unify_into_shared_representation\n\n### algebraic_equivalence_unification\narchitectural_operator_substitution · assumption_audit_and_pivot · characterize_limit_then_surpass · generative_process_redesign · heterogeneous_decomposition · reframe_as_solvable_object · structural_prior_encoding\n\n### architectural_operator_substitution\nadapt_via_conditioning · algebraic_equivalence_unification · assumption_audit_and_pivot · generative_process_redesign · heterogeneous_decomposition · reframe_as_solvable_object · self_supervised_signal_engineering · structural_prior_encoding · unify_into_shared_representation\n\n### assumption_audit_and_pivot\nadapt_via_conditioning · algebraic_equivalence_unification · architectural_operator_substitution · characterize_limit_then_surpass · controlled_diagnostic_design · decompose_and_delegate · generative_process_redesign · heterogeneous_decomposition · reframe_as_solvable_object · relax_discrete_search_to_continuous · self_supervised_signal_engineering · structural_prior_encoding · targeted_self_supervised_objective · unify_into_shared_representation\n\n### characterize_limit_then_surpass\nalgebraic_equivalence_unification · assumption_audit_and_pivot · heterogeneous_decomposition · reframe_as_solvable_object · structural_prior_encoding\n\n### controlled_diagnostic_design\nassumption_audit_and_pivot · heterogeneous_decomposition · reframe_as_solvable_object · self_supervised_signal_engineering\n\n### decompose_and_delegate\nadapt_via_conditioning · assumption_audit_and_pivot · generative_process_redesign · heterogeneous_decomposition · reframe_as_solvable_object · self_supervised_signal_engineering\n\n### generative_process_redesign\nadapt_via_conditioning · algebraic_equivalence_unification · architectural_operator_substitution · assumption_audit_and_pivot · decompose_and_delegate · heterogeneous_decomposition · reframe_as_solvable_object · relax_discrete_search_to_continuous · self_supervised_signal_engineering · structural_prior_encoding · targeted_self_supervised_objective · unify_into_shared_representation\n\n### heterogeneous_decomposition\nadapt_via_conditioning · algebraic_equivalence_unification · architectural_operator_substitution · assumption_audit_and_pivot · characterize_limit_then_surpass · controlled_diagnostic_design · decompose_and_delegate · generative_process_redesign · reframe_as_solvable_object · self_supervised_signal_engineering · structural_prior_encoding · targeted_self_supervised_objective · unify_into_shared_representation\n\n### reframe_as_solvable_object\nadapt_via_conditioning · algebraic_equivalence_unification · architectural_operator_substitution · assumption_audit_and_pivot · characterize_limit_then_surpass · controlled_diagnostic_design · decompose_and_delegate · generative_process_redesign · heterogeneous_decomposition · relax_discrete_search_to_continuous · self_supervised_signal_engineering · structural_prior_encoding · targeted_self_supervised_objective · unify_into_shared_representation\n\n### relax_discrete_search_to_continuous\nassumption_audit_and_pivot · generative_process_redesign · reframe_as_solvable_object · structural_prior_encoding\n\n### self_supervised_signal_engineering\nadapt_via_conditioning · architectural_operator_substitution · assumption_audit_and_pivot · controlled_diagnostic_design · decompose_and_delegate · generative_process_redesign · heterogeneous_decomposition · reframe_as_solvable_object · structural_prior_encoding · targeted_self_supervised_objective · unify_into_shared_representation\n\n### structural_prior_encoding\nadapt_via_conditioning · algebraic_equivalence_unification · architectural_operator_substitution · assumption_audit_and_pivot · characterize_limit_then_surpass · generative_process_redesign · heterogeneous_decomposition · reframe_as_solvable_object · relax_discrete_search_to_continuous · self_supervised_signal_engineering · targeted_self_supervised_objective · unify_into_shared_representation\n\n### targeted_self_supervised_objective\nassumption_audit_and_pivot · generative_process_redesign · heterogeneous_decomposition · reframe_as_solvable_object · self_supervised_signal_engineering · structural_prior_encoding · unify_into_shared_representation\n\n### unify_into_shared_representation\nadapt_via_conditioning · architectural_operator_substitution · assumption_audit_and_pivot · generative_process_redesign · heterogeneous_decomposition · reframe_as_solvable_object · self_supervised_signal_engineering · structural_prior_encoding · targeted_self_supervised_objective\n" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-patterns/controlled_diagnostic_design.md", "sha256": "6eb00c3e1536238e9e7120479a156b73fcf649c8b20b7615069a463225dbf7c5", "text": "# Design a Confound-Isolating Diagnostic\n_id: `controlled_diagnostic_design`_\n\n**Plain alias**. _Design a confound-isolating diagnostic_\n\n**Definition**. Build an evaluation instrument that holds confounds fixed (source capability, retrieval shortcuts, surface form) or systematically varies a hidden axis, isolating it so the measurement reflects the true property rather than an artifact.\n\n**Operational signature**. identify a confound inflating a measurement → construct controlled instances that isolate it → measure the true property versus the artifact\n\n**When to apply**. When reported performance may reflect a confound or shortcut rather than the capability you intend to measure.\n\n## Success conditions (from Oral)\n- **Contrastive or matched-condition construction that holds all axes fixed except the target property (same-source pairs, paired ambiguous/resolved probes, permuted-vs-canonical order, real-vs-synthetic ablation).**\n - rationale: When the only thing varying between conditions is the property of interest, any measured difference is cleanly attributable to it; conflating source capability or surface form with the property lets a system exploit a proxy instead of the intended signal, so isolation is what makes the measurement interpretable.\n- **Promoting the measurement apparatus itself — scoring function, the metric's embedded feature extractor, prompt format, or comparison baseline — to a first-class independent variable.**\n - rationale: Apparent capabilities, discontinuities, and biases frequently live in the ruler rather than in the system; only by manipulating the instrument and observing the effect appear or vanish can one demonstrate that the phenomenon is an artifact of measurement.\n- **Inclusion of trivial, null, or non-adaptive baselines evaluated under identical conditions.**\n - rationale: Without a floor, configuration-driven artifacts are indistinguishable from genuine gains; a constant, random, or no-specialization baseline that unexpectedly scores well exposes that the instrument rewards something other than the intended capability.\n- **Anchoring to an independent ground-truth source — human normative data, mechanistically verifiable outcomes, or a structural invariant that yields an exact null distribution.**\n - rationale: An external anchor breaks the dependence on the very instrument under audit, enabling provable false-positive control or calibrated guarantees instead of heuristic claims that cannot be falsified.\n- **Causal or predictive validation that survives confound controls and rules out alternative explanations.**\n - rationale: Diagnostic correlations can arise coincidentally from surface overlap, quality differences, or distributional flatness; directly varying the hypothesized driver and regressing against the effect upgrades a finding from suggestive to load-bearing and identifies the correct intervention point.\n\n## Failure modes (from Reject)\n- **Circular validation — the diagnostic's ground truth or quality control is produced by the same instrument or assumption it is meant to audit.**\n - rationale: If the anchor inherits the bias being measured (an encoder used to detect that encoder's bias, a self-consistency assumption never independently checked), the framework cannot establish that its own definition is correct, and the result becomes unfalsifiable.\n- **Single-task or single-modality demonstration paired with broad capability claims.**\n - rationale: A confound shown in one narrow setting does not license conclusions about a general property; the scope mismatch reads as overclaiming, and reviewers demand that the contribution be narrowed to match the evidence or the evidence broadened to match the claim.\n- **Confirmatory re-discovery of an already-known confound without a new isolating mechanism or actionable remedy.**\n - rationale: Restating a recognized bias — often at small scale — adds little, because the field rewards a new way to separate the artifact from the true signal or a concrete correction, not another demonstration that the artifact exists.\n- **Missing trivial baselines or comparisons that are not compute- or sample-matched.**\n - rationale: Apparent improvements can come from extra inference compute or more samples rather than the proposed structure; without matched baselines the marginal contribution of the design is unidentifiable and gains appear inflated.\n- **Synthetic or contrived construction whose transfer to real-world failure modes is never demonstrated.**\n - rationale: Controlled ground truth is only useful if the planted structure faithfully proxies naturally occurring phenomena; when synthetic-to-real transfer is asserted but unestablished, the central validity claim of the diagnostic collapses.\n\n## Oral vs Reject gap\nAccepted executions isolate the confound with a construction where exactly one axis moves — same-source contrastive pairs, permuted-versus-canonical presentations, real-to-synthetic ablations holding all else fixed — and then back the claim with a trivial/non-adaptive baseline, an external anchor (human norms, exchangeability, mechanistic verification), and a causal control that explicitly rules out surface similarity, quality, or entropy-proximity. Rejected executions assert the confound's effect rather than isolating it: they leave alternative explanations uncontrolled, validate against ground truth derived from the same biased instrument (circularity), or compare without trivial and compute-matched baselines so configuration artifacts masquerade as findings. Accepted work reports the divergence itself as the result (e.g., a gap between two partitions or two scoring functions that collapses or persists under intervention); rejected work reports a single number whose attribution is ambiguous. Accepted work ties the controlled instrument to a realistic deployment condition and converts the finding into a correction, threat model, or protocol; rejected work stops at a contrived construction or a heuristic patch. The difference is not how surprising the conclusion sounds but whether the design structurally forecloses the artifact-based explanation.\n\n## Oral vs HC gap\nWith a reasonably sized HC sample (roughly a dozen distinct high-cited, non-oral papers), the pattern is clear: HC papers earn their citations by filling a void with broad, reusable measurement infrastructure — multi-domain coverage, realistic environments, scalable proxy pipelines, or live preference platforms — that the community adopts as a shared evaluation substrate. They are valued for breadth, reproducibility, and being first to a needed resource, and their reviews often note that the headline result is unsurprising or that analysis depth is thin. Oral papers add a single decisive isolating move on top of solid construction: they take an existing, widely trusted measurement and show, through a controlled intervention, that a believed property is partly or wholly a measurement artifact — a discontinuity that lives in the scoring function, an alignment that is really positional bias, a capability gap that is really differential task exposure. The graduating ingredient is a sharp reattribution backed by a formal argument, an exact null, or a causal control, which reframes how the community should interpret a whole class of prior results rather than merely supplying more or broader data.\n\n## Reviewer expectations\n- **The diagnostic finding must be established causally or predictively — by varying the hypothesized driver and controlling confounders — not left as a bare correlation between a proxy signal and the true property.** _(source: both)_\n- **Show that the confound and the diagnostic generalize beyond a single task, modality, or model family before drawing claims about a general property.** _(source: both)_\n- **Include simple, trivial, null, or compute-matched baselines so that apparent effects cannot be explained away by configuration choices or extra inference compute.** _(source: reject_reviews)_\n- **Avoid circular setups in which the evaluating instrument validates itself or annotates the very behavior it is supposed to detect, with no bias-free anchor.** _(source: both)_\n- **For audit, position, or benchmark papers, deliver an actionable correction, protocol, or remedy rather than only naming and confirming the problem.** _(source: both)_\n- **Demonstrate that a synthetic or controlled construction faithfully transfers to naturally occurring real-world failure modes.** _(source: reject_reviews)_\n\n## Cognitive barriers\n- The measurement instrument — scoring function, metric, prompt format, or embedded feature extractor — is unconsciously treated as a neutral, transparent given, so the possibility that the instrument itself manufactures the effect being measured never enters consideration.\n- Two framings that share identical inputs are assumed to be equivalent, so surface-level success on a task is read as evidence of the intended underlying capability rather than of an exploitable shortcut that satisfies the task without engaging the property of interest.\n- A measured property is assumed to be intrinsic to the system under study, obscuring that it may instead be a property of the baseline chosen, the population it is compared against, or the differential exposure accumulated before measurement ever begins.\n- Community norms and siloed, mutually incompatible metrics are self-reinforcing, so a shared objective or a common confound stays masked because no participant is incentivized to step outside the boundary and compare across it.\n\n## Examples\n### Oral lessons\n- Swapping a nonlinear or threshold scoring function for a linear one on the same fixed outputs can dissolve an apparent discontinuity, revealing the sharp transition was a property of the ruler and not of the system.\n- Constructing contrastive pairs from a single common source rather than from strong-versus-weak sources strips out capability and surface-form signatures so that only the property of interest distinguishes the two members of each pair.\n- Querying the same input under both an ambiguous and an explicitly resolved probe turns the inconsistency between the two responses into the primary diagnostic, cleanly separating a default interpretive bias from a genuine capability limit.\n- Applying an identical, sufficient dose of task-specific adaptation to every system before comparison equalizes hidden differential exposure and can collapse a large cohort-correlated performance gap to near zero.\n- Exploiting a structural property the data already satisfies, such as exchangeability, yields a valid null distribution with provable error control using only black-box queries and no internal access.\n- Measuring coverage at large sample counts instead of single-sample success distinguishes whether an intervention expands the set of solvable problems or merely redistributes probability mass over capabilities the base system already had.\n\n### Reject lessons\n- Building a diagnostic whose ground truth is produced by the same instrument it audits creates a circularity that cannot independently confirm its own definition is the right one.\n- Demonstrating a confound on a single task or modality while making broad claims about a general capability invites rejection for overclaiming relative to the evidence.\n- Re-confirming a confound the field already recognizes, at small scale and without a new mechanism for isolating it, reads as confirmatory rather than as a contribution.\n- Asserting a causal link between a mechanism and an observed disparity without controlling alternative explanations leaves the claim suggestive but inconclusive.\n- Constructing a controlled synthetic instrument without showing it transfers to naturally occurring failures leaves ecological validity unestablished and the central claim unsupported.\n- Wrapping an existing metric or estimator in a new measurement or aggregation layer, without unlocking new identifying structure, is methodological dressing rather than a genuine diagnostic advance.\n\n_(corpus support: 86 papers under cluster-level primary)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-patterns/decompose_and_delegate.md", "sha256": "504a0f168dd1f8fb5e725f1a2d404b172d0967be6f3d91f9d32801067dbaa0cd", "text": "# Decompose and Delegate to Solvers\n_id: `decompose_and_delegate`_\n\n**Plain alias**. _Decompose and delegate to solvers_\n\n**Definition**. Split a monolithic task into sub-problems and route each to the best-suited solver — delegating structured/symbolic reasoning to sound external solvers while the learned model handles extraction, enrichment, and interfacing via structured intermediate artifacts.\n\n**Operational signature**. identify a monolithic task → decompose it into sub-problems → route each to the best-suited (learned or symbolic/external) solver via structured intermediate artifacts\n\n**When to apply**. When part of a task is better handled by a sound external/symbolic solver than by an end-to-end learned model.\n\n## Success conditions (from Oral)\n- **The boundary between learned and solver components is drawn at the seam where solver competence actually changes — the learned model is confined to extraction, structuring, and enrichment while a sound external mechanism owns verifiable combinatorial search or precise computation.**\n - rationale: Separating responsibilities along their comparative-advantage seam makes each sub-result correct-by-construction or independently checkable, so the composed system inherits the solver's soundness instead of the learned model's unreliability on the sub-task it cannot do well.\n- **Each inter-component handoff carries a typed, externally verifiable intermediate artifact (a formal spec, an executable state, a candidate checkable by tests or a verifier) rather than free-form natural language.**\n - rationale: Verifiable artifacts break the error-propagation chain: a flawed intermediate is detected and corrected before it reaches downstream stages, which is precisely what lets multi-step composed pipelines stay coherent rather than degrading as length grows.\n- **A single load-bearing mechanism is isolated and shown, via ablation, to collapse the method back to a known baseline when removed.**\n - rationale: Pinning the contribution to one removable mechanism lets gains be attributed precisely and separates the work from a mere assembly of existing parts; without such a pivot the decomposition is structurally indistinguishable from prior pipelines.\n- **The baseline failure is named as a structural cause — incentive misalignment, error propagation across a fixed hierarchy, notation entanglement, or unreliable self-evaluation — and the mechanism is aimed directly at that cause.**\n - rationale: A structural diagnosis converts the method from a heuristic into a directed fix, and lets reviewers verify that the proposed mechanism addresses the stated root cause rather than an unrelated symptom.\n- **Intermediate by-products are accumulated or abstracted into reusable, transfer-preserving capital — growing verified libraries, refined specifications, or abstract-then-concretize scaffolds — rather than discarded after one instance.**\n - rationale: Reuse turns per-instance solution effort into cumulative capability and forces the learned signal to carry transferable structure, which is what enables generalization to novel compositions instead of instance-level memorization.\n- **The closed feedback loop is driven by signals the system can actually obtain — execution traces, verifier output, inter-candidate behavioral agreement — rather than assuming privileged external supervision.**\n - rationale: Grounding correction in obtainable signals makes the loop deployable without oracles or large labeled demonstration sets, and several accepted methods show a sufficiently capable model's own structured outputs become a usable corrective signal once surfaced explicitly.\n\n## Failure modes (from Reject)\n- **The decomposition is an assembly of off-the-shelf agents or prompts in which no component's removal would distinguish the system from prior decomposition work.**\n - rationale: When the routing structure is not itself novel and no single mechanism is shown to be responsible for the gains, reviewers judge the system as 'similar to prior work' and treat the contribution as a recombination of established parts.\n- **The routing, templates, or prompts are hand-tailored to one narrow benchmark with no evidence of transfer to other domains or real-world conditions.**\n - rationale: Domain-specific scaffolding reads as an engineering hack rather than a transferable methodology, so reviewers discount single-benchmark numbers and demand the cross-domain or real-world validation that is conspicuously absent.\n- **The cost the delegated solver imposes — NP-complete search, materialized intermediate structures, or a multiplied number of model calls — is left unmeasured.**\n - rationale: Offloading to a sound solver can trade unreliability for intractable cost; without a latency or efficiency analysis reviewers cannot judge practicality and treat the omission as an unaddressed critical limitation.\n- **No ablation isolates the proposed mechanism from confounds such as additional data, longer training, or a stronger backbone model.**\n - rationale: If the gains could equally be explained by smuggled-in compute or data, the central claim becomes unfalsifiable and reviewers cannot attribute improvement to the decomposition itself.\n- **Self-improvement or data-generation loops rely on external models without validating the intermediate supervision or analyzing error propagation across iterations.**\n - rationale: Unfiltered synthetic intermediates let errors compound through repeated self-training rounds, and reviewers flag both the missing quality gate and the unanalyzed risk of degradation as a reliability gap.\n- **The decomposed system only marginally outperforms a simpler unified end-to-end baseline.**\n - rationale: When a monolithic model nearly matches the pipeline, the added complexity is unjustified and the premise that delegation was necessary collapses, eliminating the motivation for the method.\n\n## Oral vs Reject gap\nAccepted executions identify one load-bearing mechanism and demonstrate with ablation that removing it collapses the method to a specifically named prior baseline, with the drop quantified; rejected executions present a multi-stage pipeline of pre-existing agents and cannot point to any component whose removal would separate them from earlier decomposition work. Accepted papers ground every handoff in a typed, verifiable intermediate artifact that a sound mechanism can check, whereas rejected papers tend to pass unstructured outputs and leave error propagation unanalyzed. Accepted work diagnoses the baseline failure as a concrete structural cause (incentive misalignment, error propagation across a hierarchy, notation entanglement, unreliable self-evaluation) and aims the mechanism at that cause; rejected work imposes decomposition by intuition and often tailors its routing and prompts to a single benchmark. Accepted papers also report the cost of the added structure and show transfer across domains, while rejected ones omit efficiency analysis and offer only single-dataset numbers. Finally, accepted methods clear a fair comparison against unified end-to-end baselines, whereas several rejected ones beat that baseline only marginally, undercutting the premise that delegation was needed at all.\n\n## Oral vs HC gap\nThe high-cited-but-not-Oral sample here is moderate (roughly a dozen papers), enough to read a pattern. HC papers tend to win on timing and adoptability: they are the first to demonstrate that a delegation or self-correction pattern is possible, crystallize a paradigm, and ship a broadly reusable framework — yet their core machinery is frequently a combination of established parts, and reviewers explicitly call the underlying framework 'incremental' or 'limited in technical novelty' while still accepting it for filling a real gap. Oral papers add to the practical system a non-obvious mechanistic diagnosis of why prior decompositions fail plus a mechanism that provably or rigorously-measurably addresses it — often a formal result (an exponential representational-blowup proof, a transition-model equivalence, a by-construction validity guarantee) or a single sharply isolated mechanism backed by collapse-on-ablation evidence. In short, HC status rewards being first and immediately buildable; graduating to Oral additionally requires a depth move — a named structural insight and a targeted, validated mechanism — that makes the contribution defensible beyond its utility.\n\n## Reviewer expectations\n- **Report the cost of the added structure — token and API budget, number of model or solver calls, and solver latency — rather than only end-task accuracy.** _(source: both)_\n- **Provide ablations that isolate each component's marginal contribution, and especially show the claimed load-bearing step is what drives the gains rather than extra data or compute.** _(source: both)_\n- **Disclose the exact prompts and implementation details so the decomposed pipeline is reproducible and the results are not suspected prompt-engineering artifacts.** _(source: both)_\n- **Demonstrate generalization beyond a single narrow benchmark or domain, ideally with cross-domain or real-world tasks rather than templates specific to one dataset.** _(source: both)_\n- **Compare fairly against simpler unified or end-to-end baselines and against concurrent decomposition methods, clarifying precisely what is novel relative to them.** _(source: both)_\n- **Justify that the decomposition targets a genuine structural bottleneck — ideally evidenced by an empirical diagnostic linking a sub-task to the final outcome — instead of imposing structure for its own sake.** _(source: both)_\n\n## Cognitive barriers\n- Two abilities are tacitly treated as one monolithic capability that must be improved together, hiding the fact that they are separable and only one half is actually broken — so the obvious move is to make the whole system better rather than to surgically replace the single failing sub-task with a sound solver.\n- The intermediate representation is assumed to require a particular form (symbolic notation, a flat structure, an instance-specific trace), which conceals that decomposing in a different representational space — concrete states, behavioral predictions, or abstract scaffolds — would decouple the reusable reasoning from its domain-specific encoding.\n- Pipeline modules are assumed to be fixed, decoupled stages that merely pass outputs along, blocking the realization that one component can be folded into another — a generator can score its own candidates, a transition model can absorb composite operations, or a planner can configure the solver it calls.\n- Self-generated signals are dismissed as unreliable confabulation and static inputs (a curated library, fixed documentation, an externally supplied task distribution) are taken as exogenous givens, obscuring that a capable model's own structured outputs can both correct it and grow the resources it was assumed to merely consume.\n\n## Examples\n### Oral lessons\n- Interleaving deliberation steps with external-lookup steps in a single trajectory — so each retrieved observation reshapes the next reasoning step — outperforms running either stream alone; the feedback loop, not the two capabilities, is the load-bearing design.\n- Express sub-goals as concrete intermediate states that a forward executor can verify, not as symbolic descriptions of solution content, so learned sub-results recombine across compositions never seen in training.\n- When a model's self-generated evaluations are measurably unreliable, replace them with behavioral consensus among independently sampled candidates as a more robust correctness proxy than self-critique.\n- Reward measurable improvement between successive attempts rather than final-attempt quality, or reinforcement collapses to inflating the first attempt and emitting cosmetic edits afterward.\n- Redirect a solver's intermediate by-products into a validated, growing reusable library, converting each individual solution attempt into permanent capital that lowers the cost of future problems at near-zero marginal effort.\n- Strip notation from structured procedural artifacts and train on predicting their input-output behavior in natural language, isolating the transferable reasoning skeleton from domain-specific syntax.\n\n### Reject lessons\n- Chaining an enrichment agent to a parameter-extraction agent over an existing engine is a reasonable pipeline, but if every component is an off-the-shelf prompt there is no mechanism reviewers can credit as the novel contribution.\n- A decomposition stitched together with domain-specific templates and prompts tuned to one benchmark reads as an ad-hoc engineering hack, not a transferable method, no matter how strong the single-dataset numbers are.\n- Delegating a sub-problem to a sound solver is not free — an NP-complete constraint solve or a materialized intermediate structure that is never costed out invites rejection on practicality grounds alone.\n- Without an ablation that isolates the proposed mechanism, reviewers cannot tell whether the gains come from the decomposition or from the extra data, epochs, or stronger model it quietly brings along.\n- Generating intermediate-step supervision from external models without validating that data lets errors propagate through the self-improvement loop, and reviewers will flag the missing quality filter and the unanalyzed degradation risk.\n- If the decomposed system only marginally beats a unified end-to-end baseline, the added complexity is unjustified and the very premise that delegation was necessary falls apart.\n\n_(corpus support: 42 papers under cluster-level primary)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-patterns/generative_process_redesign.md", "sha256": "d8d7a8633ff3243ab5d56f0e3ddabba88cb0314bf01b788922e369d4d19348d0", "text": "# Liberate a Fixed Generative Component\n_id: `generative_process_redesign`_\n\n**Plain alias**. _Liberate a fixed generative component_\n\n**Definition**. Recognize a conventionally-fixed component of an iterative or staged generative procedure (the uninformative prior, fixed endpoints, unimodal step distribution, latent space, intermediate representation, or conditioning granularity) as a free design variable, and redesign it for quality or efficiency.\n\n**Operational signature**. identify a conventionally-fixed component of an iterative/staged procedure → treat it as a free design variable → redesign it to gain quality or efficiency\n\n**When to apply**. When an iterative or generative pipeline inherits a default design choice that was never the actual constraint.\n\n## Success conditions (from Oral)\n- **The liberated component is named explicitly and reframed as a free design variable, accompanied by a stated reason the field had held it fixed.**\n - rationale: Surfacing the tacit assumption converts an opaque swap into a defensible reframing; reviewers and readers can then see what conceptual constraint is being overturned, which is what makes the redesign feel inevitable rather than arbitrary.\n- **A single load-bearing mechanism is isolated and shown by ablation that its removal collapses the result.**\n - rationale: Pinpointing one mechanism whose deletion reverts the procedure to the standard form proves the gain is attributable to the redesign, not to incidental engineering, and gives the contribution a clean causal story.\n- **The payoff is an order-of-magnitude efficiency reduction or an incumbent-matching quality result on the hardest available benchmark.**\n - rationale: Liberating a 'fixed' component is only convincing if it delivers something the fixed choice provably could not; matching the gold-standard quality at a fraction of the cost is the demonstration that the old constraint was unnecessary.\n- **The redesign reuses existing machinery via a cross-domain reframing instead of inventing new architecture.**\n - rationale: Recognizing that intermediate codes equal conditioning vectors, or that an output space carries known algebraic structure, lets a whole existing toolkit transfer wholesale — making the novelty a high-leverage connection rather than a heavy, hard-to-justify new component.\n- **The redesigned component requires no retraining, works on frozen pretrained models, or generalizes across multiple tasks and regimes.**\n - rationale: When the liberation operates at inference time or transfers across settings, it expands applicability and amortizes immediately, signaling the redesign captured a general structural property rather than one tuned configuration.\n- **A principled statement explains why the new design is correct — a closed-form construction, a derived bound, convergence theory, or an equilibrium/distributional guarantee.**\n - rationale: A theoretical anchor turns a working trick into a transferable principle, letting others reason about when the redesign will hold and elevating the contribution beyond a single empirical win.\n\n## Failure modes (from Reject)\n- **The component is swapped for a structurally similar alternative that unlocks no new capability, reading as incremental recombination of known parts.**\n - rationale: When the redesign does not change what is achievable — only substitutes one estimate, starting distribution, or encoder for a comparable one — reviewers see a heuristic exchange rather than a contribution, especially when the surrounding architecture and hyperparameters are borrowed unchanged.\n- **Efficiency or convenience is gained at the cost of a quality regression, or the gain is only marginal.**\n - rationale: Liberating a fixed component is justified by a payoff the fixed choice could not provide; a degraded output or a small improvement inverts the value proposition and signals the original default was not actually the binding constraint.\n- **The 'fixed' component is never demonstrated to be the actual bottleneck, and the incumbent's claimed failure mode is asserted but not shown.**\n - rationale: Without evidence that the liberated component limits anything, the redesign looks decorative; reviewers conflate the absence of a demonstrated failure case with absence of a real problem to solve.\n- **The obvious strong baseline the method must beat is omitted from comparison.**\n - rationale: Skipping the established efficient competitor (the standard fast sampler, the standard augmentation, the leading distillation method) makes the empirical advantage unfalsifiable, and a missing canonical baseline is treated as a near-automatic rejection trigger.\n- **Many new modules are introduced simultaneously without per-component ablation, confounding the contribution.**\n - rationale: When several losses or blocks are added at once, no single change can be credited with the gain, so the work cannot establish which part of the redesign matters or whether any of it is necessary.\n- **The new capability the reframing supposedly unlocks is claimed but not demonstrated.**\n - rationale: If the central promise (cross-view consistency, the value added by the generative model, robustness across domains) is asserted in the framing but absent from the experiments, the load-bearing claim collapses and the reframing loses its justification.\n\n## Oral vs Reject gap\nAccepted executions open by naming the specific conventionally-fixed component they liberate and stating the tacit assumption that kept it fixed, then run an ablation that removes the single redesigned mechanism and shows the result reverts to the standard form — establishing that this component, not something incidental, was the binding constraint. Rejected executions swap the component for a structurally similar alternative but never demonstrate the incumbent's fixed choice was actually limiting anything, so the change reads as a lateral substitution. Accepted papers report a concrete payoff against the strongest incumbent on its hardest benchmark — matching a gold-standard quality score, or an order-of-magnitude reduction in steps or runtime — whereas rejected papers report marginal gains or trade a quality regression for efficiency. Accepted papers isolate one load-bearing change and ablate each added component; rejected papers stack several new modules without per-component ablation, leaving the contribution confounded and unattributable. Finally, accepted papers include the obvious competing efficient method as a baseline, while a recurring rejection trigger is omitting exactly that baseline — the established fast sampler, distillation method, or standard augmentation the redesign must outperform.\n\n## Oral vs HC gap\nThe high-cited non-oral sample here is sizeable enough (roughly a dozen papers) to compare meaningfully. HC papers typically deliver a strong, immediately usable system whose value is the concrete practitioner gap it closes, and their meta-reviews repeatedly flag the contribution as 'a combination of existing components' or 'incremental' yet accept it for impact and reproducibility. Oral papers add what HC papers usually lack: a principled statement of why the redesigned component is correct — a derived bound, a closed-form construction, convergence or equilibrium theory, or a clean distributional guarantee — that elevates the liberation from a working trick into a transferable principle. Oral papers also tend to validate the reframing as general, spanning conditional and unconditional regimes, multiple tasks, or training-free deployment, rather than demonstrating a single configuration. In short, HC status rewards filling a real gap with a working system; Oral status additionally demands the conceptual or theoretical claim that makes the design defensible beyond its immediate benchmark.\n\n## Reviewer expectations\n- **Demonstrate, ideally with an ablation, that the conventionally-fixed component is the actual bottleneck and that removing the redesign collapses the gain.** _(source: both)_\n- **Compare against the most obvious strong efficient baseline, not just weak or convenient ones (the established fast sampler, the leading distillation or restoration method).** _(source: reject_reviews)_\n- **Justify each introduced component with its own ablation; reviewers explicitly object when multiple modules are added without showing each is necessary.** _(source: both)_\n- **Provide a mechanistic or theoretical account of why the redesign works, not just empirical evidence that it does.** _(source: both)_\n- **Show the reported gain is not confounded by scale, proprietary data, or compute, so the redesign itself is credited with the improvement.** _(source: reject_reviews)_\n- **Characterize the quality-efficiency trade-off across the operating regime and analyze failure cases rather than reporting a single favorable point.** _(source: both)_\n\n## Cognitive barriers\n- The fixed component is so universally inherited that it stops registering as a choice — practitioners treat a default like the uninformative prior, the noise seed, the unimodal step, or hand-specified labels as a structural law of the procedure rather than a tunable design variable.\n- Two paradigms are held as mutually exclusive when they can in fact be fused — input-conditioned versus freely stochastic control, discriminative regression versus a learned generative prior, static positions versus learned dynamics — so the obvious move of combining them is never attempted.\n- The structure that would unlock the redesign lives in a separate literature with no prior link to the generative setting (random-walk convergence theory, distance-field reconstruction, layered-scene representation), so the enabling insight requires bridging fields rather than deepening one.\n- A belief that sufficient scale or data substitutes for explicit structural priors hides the fact that a deliberate redesign can improve fidelity and cost simultaneously, rather than trading one against the other.\n\n## Examples\n### Oral lessons\n- The terminal prior of an iterative procedure is a free design variable: anchoring it to a structured reference that is informationally close to the target can compress the traversal path and cut required steps by an order of magnitude.\n- A variable everyone treats as uninformative noise can deterministically encode enough degrees of freedom to satisfy fine-grained output constraints once it is optimized against a differentiable objective.\n- Replacing a unimodal per-step distribution with an expressive multimodal one lets the procedure take far larger steps, revealing that the step count — not the underlying process — was the real throughput bottleneck.\n- When intermediate codes are structurally equivalent to conditioning vectors used in another setting, an entire conditional-generation machinery can be imported wholesale instead of designing a domain-specific decoder.\n- Recognizing that an output space carries known algebraic structure lets you borrow that structure's existing convergence theory to calibrate the procedure rather than guessing a schedule.\n- Re-parameterizing instances through a fixed-shape intermediate that absorbs structural variation makes standard fixed-input generators directly applicable to variable-structure outputs, sidestepping the need for bespoke variable-structure machinery.\n\n### Reject lessons\n- Swapping one component for a structurally similar one — a different point estimate, a different starting distribution — without unlocking a new capability reads as a heuristic substitution, not a contribution.\n- Demonstrating an efficiency gain while output quality regresses inverts the value proposition and signals the original default was not the real constraint.\n- Liberating a component without first proving it was the actual binding constraint leaves the contribution looking decorative.\n- Skipping the obvious strong baseline the method must beat makes the empirical case unfalsifiable and easy to dismiss.\n- Introducing several new modules at once without per-component ablation makes the contribution confounded and impossible to attribute to any single change.\n- Claiming a new capability the reframing supposedly unlocks but never demonstrating it collapses the central claim of the paper.\n\n_(corpus support: 94 papers under cluster-level primary)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-patterns/heterogeneous_decomposition.md", "sha256": "08cc30a356d8aeb0c07109c914938c3da14d60c07be809613b2195efd45f4476", "text": "# Decompose for Differentiated Treatment\n_id: `heterogeneous_decomposition`_\n\n**Plain alias**. _Decompose heterogeneity for differentiated treatment_\n\n**Definition**. Partition a resource (parameters, error terms, conditioning signals, corruption modes) into components with systematically different properties, then apply a treatment tailored to each rather than a single uniform operation.\n\n**Operational signature**. identify a resource with heterogeneous components → partition it by a discriminating property → apply a tailored operation to each partition\n\n**When to apply**. When a uniform treatment is suboptimal because the resource's components have systematically different properties.\n\n## Success conditions (from Oral)\n- **The heterogeneity is empirically characterized and localized before any treatment is designed — the work names a concrete sub-population (a heavy-tailed minority of high-influence elements, a distinct extreme-value regime at specific operator boundaries) and shows its distribution.**\n - rationale: A named, measured property gives the partition a principled basis and lets reviewers verify the differentiated treatment is responding to real structure rather than an assumed one, which is what converts a plausible idea into a creditable one.\n- **The partition is shown to be load-bearing, either through an ablation demonstrating that uniform treatment collapses or a matching lower bound proving the separately-handled term cannot be avoided.**\n - rationale: Demonstrating that removing the decomposition breaks the method isolates the decomposition as the causal source of the gain, separating it from incidental tuning and pre-empting the 'gains could come from anything' objection.\n- **Two quantities the field had treated as one are decoupled into independently controllable axes (e.g., storage precision vs. computation precision, individual operator vs. composite operator pair, parameter count vs. intermediate-state memory).**\n - rationale: The conceptual inversion is the actual unlock: once the axes are separated, a tailored treatment on each becomes possible at no cost to the other, which is the move reviewers reward as non-obvious.\n- **Each partition's treatment is derived from its measured property (a bin allocation produced by an entropy objective, a residual correction sized to the sensitive minority, a per-component format computed from that component's variance) rather than chosen heuristically.**\n - rationale: When the operation follows analytically from the property, the method generalizes and the design choices are defensible; arbitrary per-bucket assignments invite the charge that the treatment is interchangeable with simpler alternatives.\n- **The method targets the genuinely binding constraint at the correct stage of the pipeline (attacking information loss at the compression step rather than patching it downstream, or attacking the dominant memory term rather than a secondary one).**\n - rationale: Correctly diagnosing which lever binds is what makes the differentiated treatment effective; treatments aimed at the wrong stage produce marginal gains regardless of how elegant the partition is.\n- **A theoretical guarantee accompanies the construction — a contraction or generalization bound, an exact minimizer characterization, or a near-tight lower bound on the decomposed quantity.**\n - rationale: A guarantee elevates the decomposition from a useful heuristic to a principled result, and supplies the depth that distinguishes top-tier acceptance from a strong-but-engineering contribution.\n\n## Failure modes (from Reject)\n- **The partition or sensitivity criterion turns out to be a relabeling of a widely-known quantity — a standard normalization, a generic round-trip distortion, principal-component projection of activations.**\n - rationale: When the discriminating property reduces to an established tool under questioning, reviewers see rediscovery rather than new identifying structure, and the differentiated-treatment framing cannot rescue a criterion that adds nothing beyond prior art.\n- **The differentiated treatment is assembled from off-the-shelf modules dropped onto each partition (classical distillation on one part, a known calibration on another) rather than derived from the components' properties.**\n - rationale: Stitching existing components together is read as methodological dressing; without a mechanism that the partition uniquely motivates, the contribution looks like integration work that any practitioner could replicate.\n- **Heterogeneity is asserted as the premise but the distribution it depends on is never analyzed or shown.**\n - rationale: If the work does not characterize the property it claims to exploit, reviewers cannot judge whether differentiated treatment is warranted or whether a uniform operation would do as well, so the central justification stays unverified.\n- **The practical payoff is reported only in proxy units (parameter count, FLOPs) while the constraint that actually binds — inference latency, wall-clock time, memory at deployment — is left unmeasured or is even made worse.**\n - rationale: A decomposition that wins on a proxy but loses on the real deployment metric (e.g., a storage reduction whose lookup tables blow the cache and kill throughput) fails its own motivation, and reviewers treat the missing measurement as a fundamental gap, not a minor omission.\n- **The method is validated only in a regime where the motivating constraint does not actually bind, or in a scope the field has moved past.**\n - rationale: Demonstrating a storage-saving partition on models small enough that storage was never a problem, or an architecture-specific scheme after the community has shifted architectures, hollows out the stated need and leaves the contribution looking like a solution in search of a problem.\n- **No ablation or baseline isolates the decomposition from generic effects, so the observed gain cannot be attributed to the differentiated treatment.**\n - rationale: When the comparison set omits the uniform-treatment baseline or the obvious competing methods, reviewers cannot tell whether the improvement comes from the partition itself or from added capacity, extra regularization, or more tuning — and unattributable gains do not clear a top-venue bar.\n\n## Oral vs Reject gap\nOral papers empirically characterize and localize the heterogeneity before exploiting it — they name the specific sub-population (the small set of elements carrying outsized influence, a distinct extreme-value regime confined to particular positions) and exhibit its distribution — whereas rejected papers assert that components differ and apply a partition without ever measuring the property that justifies it. Oral papers prove the partition is load-bearing through an ablation in which uniform treatment collapses, or a matching lower bound showing the separately-handled term is unavoidable; rejected papers cannot attribute their gains to the decomposition because they omit the baseline that would isolate it from added capacity or generic regularization. Oral treatments are derived mechanistically from each component's measured property (a bin allocation from an entropy objective, a residual code sized to the sensitive minority, a per-stage format computed from variance), while rejected ones bolt a standard module — classical distillation, structured dropout, PCA-on-activations, a BatchNorm-like normalization — onto each bucket, which reviewers recognize as relabeled prior art. Finally, oral papers measure the real payoff in binding units (memory, wall-clock, inference steps) and confirm the targeted bottleneck actually constrains the system, whereas rejected papers report parameter-count or FLOP reductions that leave latency unmeasured or regressed, or validate in a regime where the motivating constraint never bites.\n\n## Oral vs HC gap\nThe HC sample here is moderate (roughly ten distinct papers), so this should be read cautiously. Both groups deliver strong empirical Pareto frontiers and immediately usable artifacts; the separation is that Oral papers add a crisp conceptual inversion or a closed-form/asymptotic guarantee on top of the decomposition, while HC papers more often stop at a strong, well-engineered recipe. HC contributions are repeatedly flagged in their own reviews as reading like a 'technical report' or a 'known result made practical' — a valuable, widely-adopted tool whose conceptual core was already understood — whereas Oral papers reframe the resource itself, decoupling two axes the field had treated as one (storage vs. computation precision, individual operator vs. operator pair, parameter count vs. activation memory) and backing the reframing with theory such as a contraction proof, an exact-minimizer characterization, or a near-tight lower bound. Put concisely: HC is a decomposition that works and gets adopted; Oral is a decomposition that also changes how the community conceptualizes the resource and carries a guarantee that the differentiated treatment is principled rather than heuristic.\n\n## Reviewer expectations\n- **The partition or sensitivity criterion must be clearly differentiated from known techniques — reviewers reject when it collapses to PCA, structured dropout, or a standard normalization, and they praise orals specifically for surfacing a 'previously unaddressed' sub-structure or regime.** _(source: both)_\n- **Real-world efficiency must be measured in deployment units (inference latency, wall-clock, memory at serving time); reporting parameter-count or FLOP reductions alone is treated as leaving the central claim unverified.** _(source: reject_reviews)_\n- **Every component of the differentiated treatment should be justified by a motivation for that step and validated by an ablation isolating its individual contribution.** _(source: oral_reviews)_\n- **The comparison set must include the baselines that isolate whether the decomposition itself — rather than added capacity or generic regularization — produces the gain, including the most directly competing methods.** _(source: reject_reviews)_\n- **The distribution or heterogeneity being exploited must be empirically analyzed, not merely posited, so that the case for differentiated rather than uniform treatment is grounded in evidence.** _(source: reject_reviews)_\n- **The motivating bottleneck must actually bind in the tested regime; validating on cases where the claimed constraint (e.g., storage cost) is trivial undercuts the contribution.** _(source: reject_reviews)_\n\n## Cognitive barriers\n- A tacit conflation of two quantities that are in fact independent — storage precision with computation precision, a centering step with a scaling step, compression error with the capacity meant to absorb it — so the very option of treating them differently never enters consideration.\n- The default habit of treating a resource as a single homogeneous unit, applying one operation to every parameter, every operator, or every error term, which keeps the heterogeneous sub-structure invisible until someone thinks to measure its distribution.\n- Inherited pipeline conventions mistaken for mathematical necessity — transform-then-assign, encode-then-store, reconstruct-the-input — leading researchers to optimize within the convention instead of asking whether the partition could be drawn somewhere else entirely.\n- An assumption that the discriminating property must be estimated relative to a converged or objective-coupled state (sensitivity needs a task loss, initialization is incidental, the bottleneck is the obvious quantity like parameter count), which blocks the realization that the property can be measured independently or that the true binding constraint lies elsewhere.\n\n## Examples\n### Oral lessons\n- Replacing a fidelity-to-input objective with a task- or behavior-defined distance can sever an unwanted coupling, making the learned representation structurally blind to variation that is irrelevant to the outcome.\n- A per-component representation format derived from that component's own variance can absorb scale differences that a worst-case range argument insists require higher precision — distributional analysis beats worst-case analysis here.\n- Storage precision and computation precision are independently controllable: hold a value in a compact lossy form but reconstruct it to full precision only at the exact arithmetic boundary, decoupling memory cost from numerical fidelity.\n- The initialization of a correction module is a first-order design choice, not an incidental detail — seeding it from the structured (low-rank) part of the compression residual determines which optimization basin later adaptation converges to.\n- Managing extreme-valued elements can be reframed as a spatial redistribution problem: equalize their variance across groups by norm-preserving rearrangement instead of suppressing them locally.\n- Shifting the unit of decomposition — from individual operators to composite pairs, or from weight space to intermediate-state space — can expose a compressible dimension that is invisible at the original granularity.\n\n### Reject lessons\n- A new sensitivity or partition criterion that turns out to be a relabeling of a widely-known quantity (a round-trip distortion, a normalization, principal components of activations) reads as rediscovery, not as new identifying structure.\n- Bolting standard modules onto a partition — classical distillation for one part, an off-the-shelf calibration for another — is methodological assembly, not a treatment tailored to the components' measured properties.\n- Asserting that components are heterogeneous without ever characterizing the distribution being exploited leaves reviewers unable to credit the differentiated treatment over a uniform one.\n- Claiming a storage or parameter-count win while leaving the real deployment bottleneck (inference latency, wall-clock) unmeasured — or making it worse — undermines the entire value proposition.\n- Demonstrating the method only where the motivating constraint is trivial (small models for which storage was never a burden) hollows out the motivation regardless of the technique's elegance.\n- Without an ablation that pits the decomposition against uniform treatment, gains cannot be separated from generic effects like extra capacity or regularization, so the contribution stays unattributable.\n\n_(corpus support: 47 papers under cluster-level primary)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-patterns/overview.md", "sha256": "20014a5167c41a0a71b492bb4b20e25947b4cf30c7f86234c020e8d45f7450b2", "text": "# Innovation patterns — overview\n\nThe 15 induced ideation patterns (built on 1,891 of 1,947 papers in the corpus). The table lists official name + plain-language alias; each pattern's full card is in this directory. Every pattern's **definition + operational signature + when-to-apply** is inlined below so Phase 2.1 can read overview.md alone without opening individual cards.\n\n| ID | Name | Plain alias | n_papers |\n| --- | --- | --- | --- |\n| `assumption_audit_and_pivot` | Audit and Pivot an Assumption | _Audit the load-bearing assumption and pivot_ | 181 |\n| `architectural_operator_substitution` | Substitute the Operator or Representation | _Substitute the operator or representation_ | 109 |\n| `generative_process_redesign` | Liberate a Fixed Generative Component | _Liberate a fixed generative component_ | 94 |\n| `controlled_diagnostic_design` | Design a Confound-Isolating Diagnostic | _Design a confound-isolating diagnostic_ | 86 |\n| `unify_into_shared_representation` | Unify Heterogeneous Inputs into One Space | _Unify heterogeneous inputs in one space_ | 82 |\n| `reframe_as_solvable_object` | Reframe as a Solvable Object | _Reformulate the unsolved as a solvable object_ | 79 |\n| `self_supervised_signal_engineering` | Manufacture the Supervisory Signal | _Manufacture the supervisory signal_ | 66 |\n| `structural_prior_encoding` | Encode Structure by Construction | _Encode structure by construction_ | 61 |\n| `algebraic_equivalence_unification` | Prove Equivalence to Unify | _Prove equivalence to unify methods_ | 59 |\n| `heterogeneous_decomposition` | Decompose for Differentiated Treatment | _Decompose heterogeneity for differentiated treatment_ | 47 |\n| `decompose_and_delegate` | Decompose and Delegate to Solvers | _Decompose and delegate to solvers_ | 42 |\n| `relax_discrete_search_to_continuous` | Relax Discrete Search to Continuous | _Relax discrete search to continuous_ | 35 |\n| `adapt_via_conditioning` | Adapt by Conditioning, Not Retraining | _Adapt by conditioning, not retraining_ | 18 |\n| `characterize_limit_then_surpass` | Characterize a Limit, Then Surpass It | _Characterize the limit, then surpass it_ | 15 |\n| `targeted_self_supervised_objective` | Design a Property-Targeting Pretext Objective | _Design a property-targeting pretext objective_ | 15 |\n\n## Use\nPhase 2.1 composition selection: read this file (table + inlined sections below). Phase 2.2 candidate generation: read the per-pattern card files for the 1–3 patterns in the winning composition. Phase 3.2 audit: load only the patterns referenced in the candidate.\n\n---\n\n### Audit and Pivot an Assumption (`assumption_audit_and_pivot`) — _Audit the load-bearing assumption and pivot_\n\n**Definition**. Locate the load-bearing implicit assumption a result, guarantee, or defense rests on, then pivot on it: relax it to a weaker condition and re-prove (extending the guarantee), or violate it with a constructed counterexample/exploit (breaking the system or unlocking new behavior).\n\n**Operational signature**. identify the implicit assumption a result or defense rests on → relax it (weaker condition) or violate it (counterexample/exploit) → re-derive the guarantee or demonstrate the new behavior\n\n**When to apply**. When a result's strength or a system's safety hinges on an assumption that real settings can weaken or that an adversary can violate.\n\n---\n\n### Substitute the Operator or Representation (`architectural_operator_substitution`) — _Substitute the operator or representation_\n\n**Definition**. Replace or relocate a costly computational operator, primitive, or intermediate representation with a cheaper surrogate that provably preserves the essential property (expressivity, sensitivity bound, curvature spectrum), breaking a complexity or cost bottleneck.\n\n**Operational signature**. identify an expensive operator or representation → substitute a cheaper surrogate → prove it preserves the essential property (expressivity, sensitivity, curvature)\n\n**When to apply**. When a cost/complexity bottleneck comes from an operator or representation that can be cheaply approximated without losing what matters.\n\n---\n\n### Liberate a Fixed Generative Component (`generative_process_redesign`) — _Liberate a fixed generative component_\n\n**Definition**. Recognize a conventionally-fixed component of an iterative or staged generative procedure (the uninformative prior, fixed endpoints, unimodal step distribution, latent space, intermediate representation, or conditioning granularity) as a free design variable, and redesign it for quality or efficiency.\n\n**Operational signature**. identify a conventionally-fixed component of an iterative/staged procedure → treat it as a free design variable → redesign it to gain quality or efficiency\n\n**When to apply**. When an iterative or generative pipeline inherits a default design choice that was never the actual constraint.\n\n---\n\n### Design a Confound-Isolating Diagnostic (`controlled_diagnostic_design`) — _Design a confound-isolating diagnostic_\n\n**Definition**. Build an evaluation instrument that holds confounds fixed (source capability, retrieval shortcuts, surface form) or systematically varies a hidden axis, isolating it so the measurement reflects the true property rather than an artifact.\n\n**Operational signature**. identify a confound inflating a measurement → construct controlled instances that isolate it → measure the true property versus the artifact\n\n**When to apply**. When reported performance may reflect a confound or shortcut rather than the capability you intend to measure.\n\n---\n\n### Unify Heterogeneous Inputs into One Space (`unify_into_shared_representation`) — _Unify heterogeneous inputs in one space_\n\n**Definition**. Map heterogeneous modalities or tasks into a single shared representation space, vocabulary, or generative objective, replacing bespoke per-modality pipelines with one uniform model.\n\n**Operational signature**. identify heterogeneous inputs/tasks → map them into one shared representation/vocabulary/objective → process them with a single uniform model\n\n**When to apply**. When multiple modalities or tasks are handled by separate bespoke pipelines that a shared substrate could subsume.\n\n---\n\n### Reframe as a Solvable Object (`reframe_as_solvable_object`) — _Reformulate the unsolved as a solvable object_\n\n**Definition**. Recast an intractable problem as a different, well-studied mathematical object — combinatorial selection, an optimization/constraint program, a game/equilibrium, or a supervised-relabeling problem — so that existing solvers and guarantees apply.\n\n**Operational signature**. identify an intractable problem → recast it as a well-studied object (subset selection, game, constraint, supervised relabeling) → solve with that object's existing machinery\n\n**When to apply**. When the native formulation is intractable but isomorphic to a problem class with mature solvers or guarantees.\n\n---\n\n### Manufacture the Supervisory Signal (`self_supervised_signal_engineering`) — _Manufacture the supervisory signal_\n\n**Definition**. In the absence of ground-truth labels, derive the training or adaptation signal from the model itself — its output entropy/uncertainty, pseudo-labels, internal-state agreement, self-generated preferences, or generated-and-filtered synthetic samples.\n\n**Operational signature**. identify missing ground-truth supervision → derive a signal from the model's own outputs/uncertainty/generated samples → train or adapt on that manufactured signal\n\n**When to apply**. When ground-truth labels are scarce or unavailable but the model (or a generator) can produce a usable proxy signal.\n\n---\n\n### Encode Structure by Construction (`structural_prior_encoding`) — _Encode structure by construction_\n\n**Definition**. Bake a known invariant or structure of the problem — a symmetry group, relational topology, geometric manifold, or physical forward model — directly into the model's operators or representation so it is satisfied by construction rather than relearned from data.\n\n**Operational signature**. identify a known invariant/structure of the problem → encode it directly into the operator or representation → guarantee it is satisfied by construction\n\n**When to apply**. When the problem carries a known symmetry, topology, or physical law that a generic model would have to relearn from data.\n\n---\n\n### Prove Equivalence to Unify (`algebraic_equivalence_unification`) — _Prove equivalence to unify methods_\n\n**Definition**. Establish an algebraic equivalence showing that distinct procedures, or a family of seemingly different objectives, are the same thing — collapsing a multi-stage pipeline into one stage or unifying heuristics under a single principled form.\n\n**Operational signature**. identify distinct procedures/objectives → prove an algebraic equivalence between them → collapse the stages or unify them into one principled form\n\n**When to apply**. When two procedures or a family of heuristics look different but you suspect they optimize the same thing.\n\n---\n\n### Decompose for Differentiated Treatment (`heterogeneous_decomposition`) — _Decompose heterogeneity for differentiated treatment_\n\n**Definition**. Partition a resource (parameters, error terms, conditioning signals, corruption modes) into components with systematically different properties, then apply a treatment tailored to each rather than a single uniform operation.\n\n**Operational signature**. identify a resource with heterogeneous components → partition it by a discriminating property → apply a tailored operation to each partition\n\n**When to apply**. When a uniform treatment is suboptimal because the resource's components have systematically different properties.\n\n---\n\n### Decompose and Delegate to Solvers (`decompose_and_delegate`) — _Decompose and delegate to solvers_\n\n**Definition**. Split a monolithic task into sub-problems and route each to the best-suited solver — delegating structured/symbolic reasoning to sound external solvers while the learned model handles extraction, enrichment, and interfacing via structured intermediate artifacts.\n\n**Operational signature**. identify a monolithic task → decompose it into sub-problems → route each to the best-suited (learned or symbolic/external) solver via structured intermediate artifacts\n\n**When to apply**. When part of a task is better handled by a sound external/symbolic solver than by an end-to-end learned model.\n\n---\n\n### Relax Discrete Search to Continuous (`relax_discrete_search_to_continuous`) — _Relax discrete search to continuous_\n\n**Definition**. Convert a combinatorial structural-search problem into a differentiable or amortized one — via continuous relaxation, learnable distributions over configurations, or learned configuration prediction — and optimize the structure jointly with the task objective.\n\n**Operational signature**. identify a discrete structural search → relax it to a differentiable or amortized form → jointly optimize structure with the task objective\n\n**When to apply**. When the design space is a combinatorial structure and exhaustive or nested search is prohibitively expensive.\n\n---\n\n### Adapt by Conditioning, Not Retraining (`adapt_via_conditioning`) — _Adapt by conditioning, not retraining_\n\n**Definition**. Achieve task generalization by expressing each new task as conditioning — in-context examples, retrieved instances, goal specifications, or a unified task format — so the model solves it at inference without per-task parameter updates.\n\n**Operational signature**. identify a new task → express it as conditioning (examples, retrieval, goals, unified format) → solve it at inference without parameter updates\n\n**When to apply**. When you need broad task generalization but per-task training is costly or infeasible.\n\n---\n\n### Characterize a Limit, Then Surpass It (`characterize_limit_then_surpass`) — _Characterize the limit, then surpass it_\n\n**Definition**. Formalize the exact distinguishability or expressivity limit of an established method class as a separation criterion, then construct an augmented operator proven to exceed that limit.\n\n**Operational signature**. identify a method class's exact distinguishability/expressivity limit → formalize it as a separation criterion → construct an augmented operator that provably exceeds it\n\n**When to apply**. When an established method class plateaus and you can pinpoint a structural property it provably cannot capture.\n\n---\n\n### Design a Property-Targeting Pretext Objective (`targeted_self_supervised_objective`) — _Design a property-targeting pretext objective_\n\n**Definition**. Construct a label-free objective (e.g., continuous-label contrastive, hierarchical-ordering, masked prediction on normalized signals) whose minimization forces the representation to encode one specific targeted structural property rather than generic invariance.\n\n**Operational signature**. identify a target structural property → design a label-free objective that only that property minimizes → train the representation to encode it\n\n**When to apply**. When generic representation objectives fail to capture a specific attribute the downstream task depends on.\n\n---\n" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-patterns/reframe_as_solvable_object.md", "sha256": "a0876cbb5670f0b99d46279079066119a5c795be42aa438aa793be34f7e89dfc", "text": "# Reframe as a Solvable Object\n_id: `reframe_as_solvable_object`_\n\n**Plain alias**. _Reformulate the unsolved as a solvable object_\n\n**Definition**. Recast an intractable problem as a different, well-studied mathematical object — combinatorial selection, an optimization/constraint program, a game/equilibrium, or a supervised-relabeling problem — so that existing solvers and guarantees apply.\n\n**Operational signature**. identify an intractable problem → recast it as a well-studied object (subset selection, game, constraint, supervised relabeling) → solve with that object's existing machinery\n\n**When to apply**. When the native formulation is intractable but isomorphic to a problem class with mature solvers or guarantees.\n\n## Success conditions (from Oral)\n- **A correspondence theorem ties the reframed object's solution to the original problem's solution.**\n - rationale: Across accepted work the load-bearing contribution is a proof — the equilibrium recovers individually-ordered components, a near-stationary point extends to a full-problem equilibrium, a submodular objective makes greedy near-optimal, corrected data provably beats removal. Without this the reframe is a restatement, and the new solver's output has no claim to be the answer to the original question.\n- **The chosen object dissolves the specific blocker and unlocks machinery the native formulation could not access.**\n - rationale: Decentralized updates, closed-form attribution, long-horizon sequence-model scaling, or value-free supervision follow directly from the object choice. The reframe earns acceptance by importing concrete capability — parallelism, tractability, sample efficiency — not just new vocabulary for the same difficulty.\n- **The reframe deletes a component rather than wrapping new machinery around the old pipeline.**\n - rationale: Collapsing an estimate-then-optimize loop into a pure supervised fit, bypassing model training to read a quantity directly, or replacing exponential subset re-evaluation with an analytic per-step term both simplifies and stabilizes. Reviewers treat the disappearance of a previously-mandatory component as evidence the isomorphism is real rather than cosmetic.\n- **The structural condition enabling the equivalence is stated explicitly and its boundary acknowledged.**\n - rationale: Accepted papers name the residual architecture, separability condition, or algebraic-combination assumption that makes the mapping valid, so a reader knows exactly when the reframe transfers and when it does not — converting a clever trick into a reusable result.\n- **Faithfulness back to the original problem is independently validated.**\n - rationale: Causal interventions, oracle ground-truth constructions, or recovery proofs confirm that solving the new object solves the original and not a degenerate proxy — guarding against the failure where the reframed solver optimizes something subtly different from the intended target.\n\n## Failure modes (from Reject)\n- **The reframe is a mechanical wrapper that re-applies an existing solver to a new input granularity or domain without introducing new identifying structure.**\n - rationale: When the target object is granularity-agnostic to begin with, 'reframing' reduces to a calling convention; reviewers flag limited novelty because the object solves nothing the original tool did not already handle, and the contribution evaporates under scrutiny.\n- **The correspondence between the new object and the original problem is asserted but never proven or motivated.**\n - rationale: If the reason the object's solution is 'correct' — an equal-credit split, a frequency-based importance, a particular reference set — stays at the level of intuition, reviewers cannot accept the reframe as grounded, no matter how strong the empirical numbers, because there is no argument that the right thing is being optimized.\n- **The central object being solved is left informally defined.**\n - rationale: When the very construct under study (a behavior, a payoff, the 'true' attribution, a threat model) is never formalized, the reframed problem is indistinguishable from standard practice and any guarantees about it are vacuous; reviewers repeatedly cannot tell what new problem has actually been posed.\n- **The tractability or scalability the reframe promises is not delivered, or rests on an assumption that rarely holds in practice.**\n - rationale: The payoff that justified the reframe is the new solver's efficiency; a reformulation whose solver does not scale, or whose equivalence depends on an exact structural relationship that seldom obtains, removes the only reason to prefer the new object over the original.\n- **The reframe produces a descriptive comparison, benchmark, or taxonomy rather than a solvable object with actionable output.**\n - rationale: Reframing a question as 'compare these approaches' yields observations, not a crisp transferable principle; even reasonable framings fall below the contribution bar when they leave the reader with no operational takeaway about what to do next.\n\n## Oral vs Reject gap\nThe decisive, observable difference is whether a correspondence is proven and whether the new object actually unlocks something. Accepted work pairs the reframe with a load-bearing theorem — the game's equilibrium recovers the ordered components, a near-stationary point extends to a full-problem equilibrium, the objective is submodular so greedy is near-optimal, corrected data provably lowers held-out error versus removal — and then shows the object imports machinery the native formulation blocked: decentralized updates, closed-form attribution computable from a few snapshots, sequence-model scaling, or value-estimator-free supervision. Rejected work typically stops at the reformulation: it wraps an off-the-shelf solver (a variance decomposition, a Shapley estimator, a linear program) around a new input granularity or domain, leaves the reason the object's solution is 'correct' at the level of intuition (an equal-credit split, a frequency definition), or never formally defines the object being solved (an undefined deceptive action, an unspecified threat model). A second concrete tell: accepted reframings delete a previously-mandatory component (an estimator, a retraining loop, a centralized normalization) and verify the promised tractability at the claimed scale, whereas rejected ones add machinery and leave scalability or a load-bearing assumption (an exact algebraic relationship) unexamined.\n\n## Oral vs HC gap\nThe HC sample is small (five papers) and skewed toward one sub-family — extracting a structured object from a trained system (a computational circuit, a portable task vector, a covariance-eigenvalue reliability score, sparse interpretable latent dimensions) and validating it causally. These papers succeed by demonstrating that the object exists and causally drives behavior, but they remain largely phenomenological: the object is found and probed, not derived from a principle, and they carry no correspondence guarantee or optimality result — several are explicitly noted as showing 'that' the object exists without explaining 'how' or 'why' it must. Oral papers in the same territory go a step further: they derive the reframing from first principles, state the structural condition under which the mapping is valid, and show the reframed object enables a new capability or a provable improvement rather than a measurement. Put plainly, an HC paper convincingly answers 'this object exists and matters'; an Oral paper additionally answers 'here is why solving this object is equivalent to solving the original, and here is what that equivalence buys you.'\n\n## Reviewer expectations\n- **Prove the reduction or equivalence rather than assert it — demonstrate that the reframed object's solution corresponds to (or provably bounds/improves) the original's, ideally isolating the one construction that makes it work.** _(source: both)_\n- **Formally define the central object being solved; a behavior, payoff, or 'correct' quantity left informally specified is treated as fatal because reviewers cannot tell the reframed problem apart from standard practice.** _(source: reject_reviews)_\n- **Show the reframe contributes new identifying structure rather than re-applying existing machinery to a new input or domain — re-application alone is scored as limited novelty.** _(source: reject_reviews)_\n- **Validate faithfulness to the original problem with causal intervention or a ground-truth oracle, not just downstream metric gains.** _(source: oral_reviews)_\n- **Examine the new solver's scalability and the assumptions the equivalence rests on; unproven convergence can be tolerated if the empirical payoff is shown, but unexamined scaling or a brittle structural assumption is penalized.** _(source: both)_\n- **Deliver an actionable principle, not a descriptive taxonomy or benchmark observation; reframings that yield only 'observations' about the problem fall below the bar.** _(source: reject_reviews)_\n\n## Cognitive barriers\n- The two problems are habitually treated as belonging to separate problem classes with separate, incompatible toolchains, so the isomorphism that would let one borrow the other's solvers is nearly invisible — especially when the relevant sub-communities rarely cross-pollinate.\n- A structural feature that looks like an obstacle to optimization — a circular dependency between the scoring rule and what it scores, a hard constraint, a missing supervision channel — is, after reframing, the very thing that makes the new object's solution unique or correct; the instinct is to engineer it away rather than to build on it.\n- The native formulation carries components that feel mandatory (a value estimator, a retraining loop, parameter-space sampling, exhaustive subset evaluation), and it is hard to doubt that an entire load-bearing component is actually an unnecessary detour the reframing can delete.\n- There is a tacit belief that theoretical convergence or optimality guarantees, or full advance knowledge of the problem's structure, are prerequisites before a borrowed solver may be applied — when in fact the machinery can transfer to the broader regime and the missing structure can be estimated online.\n\n## Examples\n### Oral lessons\n- Reframing a rotation-invariant joint objective as a game with hierarchically-ordered per-agent penalties recovers the individually-ranked components the joint form structurally cannot distinguish — and the same move unlocks decentralized, normalization-free updates.\n- Relabeling each collected trajectory by the outcome it actually reached turns suboptimal data into optimal demonstrations, collapsing an estimate-then-optimize loop into a single stable supervised fit.\n- Casting attribution as subset selection under a provably submodular objective lets greedy search return compact, near-optimal explanations where continuous global scoring stays diffuse.\n- An intractable high-dimensional kernel regression becomes a small dense linear system once per-instance features are randomly projected, recovering ensemble-level accuracy from only a few model snapshots.\n- Recasting dynamics modeling as autoregressive prediction over discrete tokens imports long-horizon sequence-model machinery and decouples sequence length from raw observation dimensionality.\n- Estimating an irreducible target quantity directly as the expectation of a marginal statistic can eliminate the model-training step the field had assumed was mandatory.\n\n### Reject lessons\n- Applying a granularity-agnostic decomposition to coarser input groups through a thin wrapper, with no new identifying structure, reads as repackaging an existing tool rather than a contribution.\n- Linearizing a computation and splitting credit equally across factors yields tidy closed-form scores, but without a principled argument for why that split is the right one the object's solution is unmotivated.\n- Leaving the central object informally defined — an undefined behavior, a benchmark payoff, a 'true' attribution — makes the reframed problem indistinguishable from standard practice and its guarantees vacuous.\n- Proposing a tractable reformulation whose solver does not actually scale, or whose key step assumes an exact structural relationship that rarely holds, undercuts the very tractability that motivated the reframe.\n- Reframing a problem as an empirical comparison or taxonomy produces descriptive observations rather than a solvable object with a crisp, actionable takeaway.\n- Substituting one oracle for another is promising, but validating it only on small, analytically tractable cases fails to show the reframe delivers where the original formulation actually broke.\n\n_(corpus support: 79 papers under cluster-level primary)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-patterns/relax_discrete_search_to_continuous.md", "sha256": "7a4db9933efa57024083886e5d42432ac5330f56a9ea6a7936de8fd70368b502", "text": "# Relax Discrete Search to Continuous\n_id: `relax_discrete_search_to_continuous`_\n\n**Plain alias**. _Relax discrete search to continuous_\n\n**Definition**. Convert a combinatorial structural-search problem into a differentiable or amortized one — via continuous relaxation, learnable distributions over configurations, or learned configuration prediction — and optimize the structure jointly with the task objective.\n\n**Operational signature**. identify a discrete structural search → relax it to a differentiable or amortized form → jointly optimize structure with the task objective\n\n**When to apply**. When the design space is a combinatorial structure and exhaustive or nested search is prohibitively expensive.\n\n## Success conditions (from Oral)\n- **The relaxation unlocks a structural capability the discrete formulation cannot provide — transfer, interpretability, joint optimization, full sample reuse, or instance-adaptivity — not merely a speedup.**\n - rationale: When the only payoff is faster search, reviewers weigh it against the search's own overhead and find it marginal; a capability that the nested or hand-designed formulation structurally forbids gives the reformulation a reason to exist beyond efficiency, and accepted papers consistently lead with such a capability.\n- **A single load-bearing structural choice is explicitly named and ablated, with evidence that removing it collapses the method to a naive baseline.**\n - rationale: The continuous/amortized reframing introduces many moving parts; isolating the one mechanism that does the work lets reviewers attribute gains causally rather than to incidental capacity, and it is the difference between a defensible claim and an unattributable improvement.\n- **The search space is grounded in a theory, an executable formalism, or a typed/graph structure that is at once expressive and well-conditioned.**\n - rationale: A relaxed space that is poorly conditioned produces unstable candidates and a space that is too narrow only rediscovers known patterns; a principled substrate guarantees candidates instantiate stably while still containing configurations with genuinely new computational properties, which is what lets search beat human design.\n- **Validation includes recovering a known hand-designed solution, Pareto-dominating established alternatives, or transferring across multiple datasets/tasks/scales.**\n - rationale: These outcomes are hard to fake by overfitting the search to a benchmark: rediscovering a known optimum certifies the search space, and dominating the methods the reframing claims to replace converts a plausible mechanism into convincing evidence that the search found real structure.\n- **Instance- or task-level heterogeneity is treated as the optimization target — a learned distribution or conditioned mapping over configurations — rather than as noise to be averaged away.**\n - rationale: When no single configuration is universally optimal, collapsing to one point solution discards the primary lever for adaptivity and resource allocation; learning a conditioned distribution captures cross-instance variability and is repeatedly what distinguishes the strong amortized formulations.\n- **A diagnostic observation (empirical or theoretical) precedes the prescriptive search, establishing that the structural variable is the right thing to optimize.**\n - rationale: Search deployed on a variable that does not drive the outcome wastes compute and confuses reviewers; a prior diagnostic that pins the causal locus converts the search from a fishing expedition into a principled response to an identified bottleneck.\n\n## Failure modes (from Reject)\n- **Wrapping a known solver or framing (an MDP/RL formulation, a DAG traversal, an offline regressor, a module-swap grid) around the problem without unlocking any new identifying or structural leverage.**\n - rationale: The relaxation becomes a relabeling exercise: reviewers recognize the underlying technique as established and see no new search structure exploited, so the contribution reads as dressing on a known method rather than a genuine reformulation.\n- **Leaving a greedy or brute-force core intact behind the new continuous/probabilistic notation, so the 'relaxation' reduces to tuning a penalty coefficient or to still-greedy selection.**\n - rationale: The reformulation claims to escape combinatorial search but does not actually change the optimization; once reviewers trace the mechanism they find the discrete bottleneck untouched, and the staged or Pareto framing collapses to hyperparameter tuning.\n- **Validating scalability claims only on toy, synthetic, or small-scale instances and never at the scale where exhaustive search is actually infeasible.**\n - rationale: The entire premise is that relaxation buys tractability where enumeration cannot reach; demonstrating it only where enumeration is already cheap fails to test the load-bearing claim, and reviewers read small-scale-only evidence as evasion of the hard regime.\n- **Omitting comparison to the established baselines and close prior art the reformulation claims to surpass.**\n - rationale: Without head-to-head positioning the practical advantage of the new framing is unverifiable regardless of internal numbers, and reviewers cannot distinguish a real improvement from a reframing that merely matches what already exists.\n- **Reporting gains from single runs with no multi-seed statistics or confidence intervals.**\n - rationale: Search and amortized prediction are high-variance procedures; without repeated trials reviewers cannot separate a genuine effect from sampling noise, and a single favorable run is treated as anecdote rather than evidence.\n- **Burying the load-bearing step inside an overstuffed or imprecise formulation that tries to cover too much at once.**\n - rationale: When the key mechanism is one of many under-explained features, reviewers cannot attribute the gains to it or judge its soundness, and the paper's clarity deficit becomes grounds for rejection even when the core idea is sound.\n\n## Oral vs Reject gap\nThe separation is visible in four concrete behaviors. First, accepted work isolates and names the single load-bearing structural choice — the encoding, the evaluator partition, the conditioning manifold, the stochastic-relaxation trick — and runs an ablation showing the method collapses to a naive baseline without it; rejected work presents the reformulation as a monolith and never attributes its gains to a specific mechanism. Second, accepted work's relaxation genuinely alters the optimization — collapsing a nested search-then-evaluate loop into one joint trajectory, enabling gradients over structure and parameters together, or learning an instance-conditioned distribution — whereas rejected work frequently leaves a greedy or brute-force core intact behind new notation, so the 'relaxation' reduces to tuning a penalty coefficient or to still-greedy selection. Third, accepted work validates by recovering known hand-designed solutions or Pareto-dominating the established alternatives at non-trivial scale, while rejected work validates on toy or synthetic instances and omits comparison to the very methods its reframing claims to beat. Fourth, accepted work reports multi-seed, ablated evidence, while rejected work commonly rests on single runs with no statistical treatment, leaving reviewers unable to separate a real effect from noise.\n\n## Oral vs HC gap\nWith only a single high-cited non-Oral paper in this cluster, any HC generalization is necessarily tentative. That said, the lone HC exemplar illustrates the shape of a paper that earns wide citation without reaching Oral: it delivers an immediately reproducible recipe that fills a clean conceptual gap (repurposing a pretrained module as both a state prior and a soft branching heuristic inside classical search) and even supplies a principled criterion for when one role should dominate, but its validation is confined to a single domain and a key architectural limitation — that the 'world model' is only an initial belief state, not a transition model — is downplayed rather than surfaced. Oral papers in this cluster, by contrast, tend to validate the reformulation across multiple datasets or domains, surface and ablate their load-bearing mechanism explicitly, and include a surprising confirmation (rediscovering a known solution, Pareto-dominating all prior remediation) that converts a plausible method into a convincing one. The HC paper's traction came from timeliness and template reusability; the gap to Oral status is breadth of validation and a forthright treatment of the method's structural limits rather than any deficit of impact.\n\n## Reviewer expectations\n- **Ablate the method to show which component actually drives the gains; isolate the load-bearing step from incidental capacity.** _(source: both)_\n- **Account for the search's own computational cost (supernet training, evolutionary or tree-search overhead, per-instance inference) and show it amortizes against the gains.** _(source: both)_\n- **Compare directly against the established baselines and closely related prior art the reformulation claims to surpass, and position the work clearly relative to them.** _(source: reject_reviews)_\n- **Demonstrate that discovered structures generalize across tasks, datasets, or scales rather than being validated in a single domain or on simple synthetic settings.** _(source: both)_\n- **Provide statistical rigor — multiple seeds, confidence intervals — rather than reporting a single run.** _(source: reject_reviews)_\n- **Specify the search-space representation and the traversal/optimization procedure precisely enough that the mechanism, not just the outcome, can be evaluated.** _(source: both)_\n\n## Cognitive barriers\n- The discrete and continuous formulations look superficially equivalent when only simple cases are considered, so recasting a fixed lookup or closed label set as a searchable random variable over a generative model feels like a category error rather than an unlock — the reframing only becomes visible once the simple-case equivalence is deliberately broken.\n- The field tacitly assumes structural search must be nested or bilevel — an outer loop that evaluates each candidate by running an inner procedure to convergence — because correctness seems to demand precision everywhere; collapsing that hierarchy into a single joint trajectory feels like it must sacrifice the guarantees, masking the fact that gradient signal or position-dependent approximation can do the work more cheaply.\n- The searched variable was treated as a fixed, neutral scaffold or as unavoidable human labor, and standardized benchmarks pre-embed those choices, so the bottleneck is invisible under conventional evaluation; recognizing the scaffold as a legitimate optimization target requires first noticing labor that the evaluation setup is hiding.\n- Practitioners assume the optimal configuration is a function of the search trajectory — an irreducible per-instance search — rather than of the input distribution, so the possibility of amortizing it into a learned mapping or a distribution over configurations is never entertained until cross-instance correlation is shown to exist.\n\n## Examples\n### Oral lessons\n- Seeding the search with existing hand-crafted solutions turns an open-ended search into the discovery of interpretable modifications, and rediscovering a known solution doubles as validation that the search space is sound.\n- Sampling a sparse sub-configuration from a continuously relaxed mask at every step lets gradient signal shape structural decisions from the start, removing the belief that full capacity must be instantiated before anything can be pruned.\n- Collapsing a nested design-then-evaluate hierarchy into a single sequential decision process lets one gradient update improve both structural choice and task performance while reusing every collected sample.\n- When two searched dimensions are semantically coupled, partitioning the shared evaluator by one of them prevents a biased shared estimate that silently favors certain dimension pairings.\n- A differentiable fitness evaluator can substitute entirely for a labeled dataset of high-performing examples by injecting performance gradients directly into a pretrained generator at inference time.\n- Reframing 'find one optimal configuration per dataset' as 'learn an instance-conditioned distribution over configurations' turns instance heterogeneity from noise into the primary lever for adaptive resource allocation.\n\n### Reject lessons\n- Wrapping a learned estimator or an MDP/RL framing around a problem that an existing solver already handles, without unlocking new identifying structure, reads as methodological dressing rather than contribution.\n- A reformulation whose core still selects greedily or reduces to tuning a single penalty coefficient has not actually escaped the discrete search it claims to relax.\n- Validating a scalability claim only on toy or synthetic instances fails to demonstrate that the relaxation beats exhaustive search precisely where exhaustive search is infeasible.\n- Omitting comparison to the established baselines the reframing claims to surpass leaves its practical advantage unverifiable regardless of how strong the internal numbers look.\n- Reporting gains from a single run without multi-seed statistics makes a favorable result indistinguishable from sampling noise.\n- Burying the load-bearing step inside an overstuffed, imprecise formulation prevents reviewers from attributing the gains to any specific mechanism, sinking even a sound core idea.\n\n_(corpus support: 35 papers under cluster-level primary)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-patterns/self_supervised_signal_engineering.md", "sha256": "7e63e33e84b6c6438041999bc7180aba61dfa1e8cd3cfac8bdd0263dcb819f53", "text": "# Manufacture the Supervisory Signal\n_id: `self_supervised_signal_engineering`_\n\n**Plain alias**. _Manufacture the supervisory signal_\n\n**Definition**. In the absence of ground-truth labels, derive the training or adaptation signal from the model itself — its output entropy/uncertainty, pseudo-labels, internal-state agreement, self-generated preferences, or generated-and-filtered synthetic samples.\n\n**Operational signature**. identify missing ground-truth supervision → derive a signal from the model's own outputs/uncertainty/generated samples → train or adapt on that manufactured signal\n\n**When to apply**. When ground-truth labels are scarce or unavailable but the model (or a generator) can produce a usable proxy signal.\n\n## Success conditions (from Oral)\n- **The manufactured signal is preceded by a mechanistic diagnosis that names exactly what the proxy must correct and why labels were insufficient.**\n - rationale: Pinning the failure to a specific quantity (a distributional statistic, a per-subpopulation gradient effect, an upstream forward-pass operator) makes the proxy's design falsifiable and lets reviewers see the intervention as targeted rather than speculative, which is what distinguishes a contribution from a heuristic loop.\n- **An explicit curation/filtering stage operates on the self-generated signal, and its removal is shown to break the method.**\n - rationale: Self-generated data carries mixed quality and noisy proxy labels; a confidence-, consistency-, or execution-based filter is the mechanism that converts an unstable self-improvement loop into a convergent one, so making it load-bearing and ablating it directly demonstrates where the gain originates.\n- **Noisy absolute self-estimates are reformulated into reliable relative orderings or conditioning variables instead of being used as pointwise targets.**\n - rationale: Absolute self-scores are typically too noisy for regression but retain enough discriminative content to rank or to condition on, so a pairwise/preference or return-conditioned formulation rescues a signal that would otherwise be unusable, sidestepping the precision requirement entirely.\n- **A formal guarantee or predictive law accompanies the empirical proxy — a closed-form bound, a scaling exponent, or a clean decomposition of the dynamics.**\n - rationale: A bound or law turns an empirical trick into structural knowledge that transfers across settings and pre-empts the 'works by coincidence' objection, separating the contribution from execution-only variants of the same recipe.\n- **The causal link between the manufactured signal and the target outcome is validated by intervention, not just correlation.**\n - rationale: Re-activating underused components, perturbing the proxy, or partitioning data and showing the predicted effect demonstrates that the manufactured signal is the cause of the improvement, which is the evidentiary standard reviewers apply when a proxy replaces ground truth.\n- **Optimization driven by the manufactured signal is confined to a small or structured subspace for tractability and stability.**\n - rationale: Restricting updates to a low-dimensional set of parameters or a compact conditioning input keeps a label-free objective from overwriting good pretrained structure and makes gradient-free or online updates feasible, so the proxy corrects the mismatch without destabilizing the base model.\n\n## Failure modes (from Reject)\n- **The manufactured-signal trick is a thin wrapper on existing machinery, and reviewers collapse it into the nearest prior method.**\n - rationale: When the delta reduces to 'swap the reward model for an LLM judge,' 'apply preference optimization at step rather than sequence granularity,' or 'adapt a general continual-learning rule,' the novelty is judged incremental because no new identifying structure or mechanism is unlocked beyond the closest baseline.\n- **An intermediate property is demonstrated but never connected to the downstream objective.**\n - rationale: Showing that synthesized data is diverse, decoupled, or higher-coverage is not the same as showing it solves the target problem; without the side-by-side comparison on the actual metric, reviewers grant only the weaker claim and treat the headline contribution as unproven.\n- **The evaluation rests on an artificial setup or assumptions that do not hold at deployment.**\n - rationale: A proxy validated only on a fixed, pre-enumerated set of conditions, under a calibration or stationarity assumption that is known to fail, or using information that would be unavailable in practice, is judged inapplicable to the scenario it claims to serve.\n- **Strong, isolating baselines are missing, so the gain cannot be attributed to the manufactured signal.**\n - rationale: Without comparison to simpler classical methods or to plain additional fine-tuning, reviewers cannot tell whether the improvement comes from the proxy or merely from extra training/compute, leaving the central claim unverifiable.\n- **The gain is too small to justify the cost of generating and filtering the signal, especially when a cheaper alternative exists.**\n - rationale: Generation-and-filtering loops add substantial compute; when the resulting improvement is marginal or occasionally negative and a lighter augmentation or retrieval scheme would do, the cost-benefit ratio reads as unfavorable.\n- **A scheme that is sound only under ground-truth supervision is imported into the label-free setting without re-anchoring it.**\n - rationale: Naively chaining self-inferred posteriors as the next prior, or assuming monotonic improvement from a self-generated objective, amplifies the very noise it was meant to suppress because the supervision anchor that made the original scheme stable has been silently removed.\n\n## Oral vs Reject gap\nAccepted executions pair the manufactured signal with a mechanistic diagnosis that names the exact quantity the proxy must correct and an explicit curation stage whose removal is shown to break the method; rejected ones run a generate-then-train loop without isolating why the naive signal fails or ablating the filter. Accepted papers convert noisy self-generated estimates into a robust form — pairwise orderings, conditioning variables, or bounded distributional statistics — and back the proxy with a closed-form bound, a scaling law, or an intervention experiment that re-engages or perturbs the signal; rejected papers use the raw signal and defend it with correlation under assumptions (calibration, monotonic improvement, stable sequential self-updating) that reviewers flag as unmet. Accepted papers also run against the specific baseline that would otherwise attribute the gain to extra training or compute and report results under the realistic regime (shifting streams, small batches, held-out domains), whereas rejected papers use artificial setups, omit that isolating baseline, or demonstrate only an intermediate property such as diversity or a new metric without the comparison on the downstream objective. Finally, accepted papers establish a sharp delta from the closest cooperative/self-training/preference prior art, while rejected ones are collapsed by reviewers into 'swap component X.'\n\n## Oral vs HC gap\nThe HC sample here is moderate (~16 papers) and fairly informative. HC papers earn their citations by shipping an immediately reusable artifact — a drop-in test-time objective, a synthetic-data or self-curation pipeline, a preference dataset or learned reward model — and reviewers frequently note 'limited novelty' or 'direct transfer' yet accept them for filling a high-visibility practical gap. What graduates a paper to Oral is the addition of transferable structural knowledge layered on top of the working trick: a named metric, a stability criterion, a closed-form bound or scaling law, a causal intervention, or a mechanistic decomposition that reframes the problem. Observably, HC contributions optimize the *what* of a known recipe — substituting a higher-fidelity generator into an existing pipeline, assembling a larger or more authentic preference corpus, distilling a synthetic-trained teacher — while Orals derive and validate a *why* (a proof, decomposition, or intervention) that outlives the specific artifact and changes how the community trains or evaluates. The same self-generated-signal move that reads as 'solid engineering' for an HC paper becomes Oral-grade when it is accompanied by a guarantee or a counterintuitive characterized failure mode.\n\n## Reviewer expectations\n- **Show the manufactured signal generalizes beyond the single model family, dataset, or task family it was tuned on.** _(source: both)_\n- **Ablate the method so the gain is attributable to the manufactured signal itself and not to incidental extra training, compute, or scale; include the self-improvement or simple-fine-tuning baseline.** _(source: both)_\n- **Provide the critical side-by-side comparison on the actual downstream objective, not merely evidence that the synthesized signal has a desirable intermediate property like diversity.** _(source: reject_reviews)_\n- **Articulate a clear and defensible delta from the closest cooperative-training, self-training, or preference-optimization prior art rather than a component swap.** _(source: reject_reviews)_\n- **Justify the computational cost of the generation/filtering/feedback loop relative to its measured benefit.** _(source: both)_\n- **Ground the method in realistic deployment conditions and avoid assumptions (calibration, fixed corruption sets, access to test-set information) that reviewers read as unrealistic.** _(source: reject_reviews)_\n\n## Cognitive barriers\n- The field habitually frames missing supervision as an external-oracle problem — needing human labels, a separately trained reward model, or a stronger teacher — which directs attention outward and obscures that an exploitable signal is already latent in the model's own output scores, internal states, or pruned search branches.\n- A static training corpus is tacitly treated as an immutable quality ceiling, so it is hard to see a controllable generator (or even the discriminative model itself) as its own data-augmentation engine that can be steered past the corpus boundary toward high-quality or hard regions.\n- Instability and failure are reflexively attributed to the scalar objective, while the true cause often sits upstream in the forward computation or in the optimization trajectory — dynamics that are invisible to analyses that examine only the loss surface or the properties of converged solutions.\n- Surface resemblance is conflated with target value — assuming that more degrees of freedom can only help, that examples which 'look like' good ones are the useful ones, or that stronger external supervision always beats in-distribution self-generated data — which hides the move of selecting on outcome reachability or on an information-theoretic criterion instead.\n\n## Examples\n### Oral lessons\n- Granting an adaptation procedure more degrees of freedom can hurt rather than help, because the optimization trajectory — not the reachable solution set — is what distorts a high-quality pretrained representation, so pre-initializing the output stage before end-to-end updates preserves it.\n- Before blaming the loss for instability, audit the forward pass: a stateful aggregation operator can corrupt representations upstream of any gradient, making the correct fix architectural rather than objective-level.\n- When a model's outputs recycle into its own future training data, the quantity that separates stable from runaway drift is whether those outputs are statistically indistinguishable from training draws, not whether they are accurate.\n- A weak model's own quality scoring, though imperfect, is sufficient to separate usable self-generated pairs from noise at scale, so a single model can serve as both the generator and the curator of its training data.\n- Self-generated quality estimates too noisy for pointwise regression can still be reliable as relative orderings, so reformulating them as pairwise preferences rescues an otherwise unusable supervisory signal.\n- Routing the learner's own per-class uncertainty back into the generator makes filtering implicit in generation and concentrates synthesis on the cases the learner currently fails, which steepens the data-scaling curve at a fraction of the synthesize-then-filter cost.\n\n### Reject lessons\n- A cooperative generate-filter-retrain loop that closely resembles known cooperative-training frameworks needs a sharp demonstration of what it unlocks beyond them, or it is read as relabeled prior art.\n- If the contribution reduces to swapping the reward model for an automated judge, reviewers collapse the method into the nearest existing iterative procedure and discount the novelty.\n- Proving that manufactured data induces diversity is not proving it solves the target problem; absent the side-by-side comparison on the actual objective, only the weaker claim is granted.\n- A manufactured signal validated solely under an artificial setup or a fixed, pre-enumerated set of conditions is judged inapplicable to the deployment scenario it claims to serve.\n- Without strong baselines, a large self-generated training corpus cannot show that the manufactured signal beats a simple classical alternative, leaving throughput and accuracy claims unverifiable.\n- Resting a proxy on an assumption that frequently fails in practice — such as model calibration — or porting a granularity change without isolating its effect leaves the core claim unsupported.\n\n_(corpus support: 66 papers under cluster-level primary)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-patterns/structural_prior_encoding.md", "sha256": "3ebc3ea6829e9904b5d73b6b01808e3464115d8cc95795a61005029ca1ad358a", "text": "# Encode Structure by Construction\n_id: `structural_prior_encoding`_\n\n**Plain alias**. _Encode structure by construction_\n\n**Definition**. Bake a known invariant or structure of the problem — a symmetry group, relational topology, geometric manifold, or physical forward model — directly into the model's operators or representation so it is satisfied by construction rather than relearned from data.\n\n**Operational signature**. identify a known invariant/structure of the problem → encode it directly into the operator or representation → guarantee it is satisfied by construction\n\n**When to apply**. When the problem carries a known symmetry, topology, or physical law that a generic model would have to relearn from data.\n\n## Success conditions (from Oral)\n- **A proven entailment links the encoded construction to the claimed property, rather than empirical evidence that the property usually holds.**\n - rationale: What makes 'satisfied by construction' credible is a formal guarantee — that equivariant transitions induce an invariant distribution, that a frame's own symmetry yields exact compliance, that a conjugation action is an automorphism. Without the theorem, the construction is just another inductive bias that can silently fail off-distribution, and reviewers treat it as heuristic.\n- **The symmetry or equivalence group is characterized completely, including any continuous, coupled, or operator-specific components, not just the obvious discrete part.**\n - rationale: Partial characterizations leave a residual gap that the construction provably cannot close: when only a subset of the true equivalence class is enforced, the unhandled symmetries reintroduce exactly the barrier the method set out to remove. Completing the group is repeatedly the difference between a near-result and a clean one.\n- **The prior is enforced through structure-respecting operators acting on the raw, native representation rather than through precomputed invariant scalar features.**\n - rationale: Projecting to invariants before processing is lossy: relative orientation, direction, and higher-order structure vanish and cannot be reconstructed downstream. Shifting the burden from representation choice to operator design preserves the information the task actually depends on.\n- **An exact guarantee is paired with a tractable computation — a small structured proxy, a geometry-native basis, a cached statistic, or an algebraic shortcut that avoids the expensive canonical route.**\n - rationale: Exactness alone is not adoptable if it costs exhaustive group averaging, per-query substructure enumeration, or full spectral decomposition. The accepted work finds the structured object that delivers the same guarantee cheaply, collapsing a trade-off the field had accepted as unavoidable.\n- **The structural mechanism is shown to be general — validated across multiple domains, dimensions, or task types from a single framework.**\n - rationale: A structural prior earns its keep as reusable machinery, not a one-off trick. Demonstrating that the same construction transfers across point clouds, dynamics, weight spaces, or arbitrary dimension signals that the encoded structure is fundamental rather than dataset-specific engineering.\n- **Identifying the structural object that carries the result is presented as the genuine load-bearing insight, with everything else following from it.**\n - rationale: The strongest entries reframe an apparent obstacle (non-convex landscapes, intractable invariance, instability) as an artifact of an unrecognized structure, so that surfacing that structure does the explanatory work. This focuses the contribution and makes the ablation that removes it decisive.\n\n## Failure modes (from Reject)\n- **Composing existing structure-aware modules into one pipeline with no single load-bearing mechanism whose removal breaks the result.**\n - rationale: When a method stitches together a global aggregator, a local aggregator, and a fusion block all borrowed from prior work, there is no new structural guarantee to credit; reviewers consistently read this as incremental assembly and ask which component is actually novel, a question the paper cannot answer.\n- **Encoding a correct domain structure that delivers only marginal improvement over the baseline it extends, or whose contribution is never isolated.**\n - rationale: If the structural prior yields gains indistinguishable from the incumbent, or if a stronger backbone could equally explain the numbers, the structure cannot be shown to be the cause of any advantage — and an unisolated mechanism is treated as unproven regardless of how principled it sounds.\n- **A rigorous structural theorem whose scope or applicability is too narrow to matter.**\n - rationale: Correctness is necessary but not sufficient: results confined to a heavily restricted architecture, accompanied by a single toy experiment, fail on magnitude and breadth. Reviewers weigh how widely the structural result applies, and a beautiful theorem with no reachable application is judged out of scope.\n- **Wrapping or extending an existing structural result to a new regime without unlocking new identifying structure, and landing inferior to the method it aimed to replace.**\n - rationale: Generalizing a known construction to higher dimensions or a new modality is not itself a contribution when the result underperforms the established baseline; the structural move becomes dressing on top of an existing identifiability or symmetry result rather than a new source of capability.\n- **Relaxing or partially characterizing the symmetry group without proving the resulting operator class is complete.**\n - rationale: Relaxing a global constraint to a data-inherent subgroup, or claiming a tractable operator family, invites the objection that some valid structure-preserving maps are missing. Absent a completeness proof, the construction may be a special case of a more general class, and reviewers withhold credit for the guarantee.\n- **Bespoke per-instance structure that requires manual engineering for each new problem and offers no uniqueness or correctness guarantee.**\n - rationale: When the prior must be hand-derived separately for every problem type, generality collapses and the method reads as engineering rather than a transferable principle; the absence of any guarantee that the encoded structure is the right or unique one further undermines the claim.\n\n## Oral vs Reject gap\nThe decisive difference is the presence of a single, provable, load-bearing structural step versus a bundle of plausible ones. Accepted executions state and prove an entailment — that the construction forces the property (equivariant operators ⇒ invariant distribution, frame symmetry ⇒ exact compliance, full-group factoring ⇒ collapsed basins) — and then show empirically that deleting that one step collapses the result; rejected executions instead concatenate borrowed structure-aware modules and cannot point to one mechanism whose removal breaks everything. Accepted work characterizes the *complete* symmetry or equivalence group and operates on the raw representation with structure-respecting operators; rejected work either enforces only a partial/canonical subset (leaving a residual barrier) or pre-projects to lossy invariant scalars. Accepted work pairs the guarantee with a tractable route (a small frame, a native basis, a cached summary) and validates across multiple domains; rejected work often confines a correct result to one restricted architecture or one toy experiment. Most concretely, accepted work isolates the structural prior with an ablation against simpler and incumbent baselines, whereas rejected work repeatedly fails to rule out that a stronger backbone or the extended baseline already accounts for the gains.\n\n## Oral vs HC gap\nThe HC sample here is moderate (roughly eight distinct papers, several of them strong applications), so this pattern is suggestive rather than definitive. HC papers tend to take an already-established structural-encoding idea and make it work decisively in one important place — porting an iterative corruption-reconstruction process to a new modality, anchoring a forward process at the observation, treating coordinates as recoverable pretraining targets, or enabling training-free editing from a pretrained model — and they earn their citations through immediate, reproducible practical utility and released artifacts. Oral papers instead introduce the *general* structural machinery that reframes a whole class of problems: a continuous-time formulation that exposes a parameter-free law, a complete symmetry characterization, a unifying algebraic duality, or a proof that a small structured subset suffices for exactness. In short, the HC paper instantiates a structural prior excellently in a high-value setting, while the Oral paper proves a foundational or unifying structural result whose reach spans domains or dimensions, so that others build their HC-style applications on top of it.\n\n## Reviewer expectations\n- **A formal proof that the construction enforces the claimed property — reviewers explicitly praise 'formal proof that equivariant kernels induce invariant distributions' and 'clean theoretical guarantees of exact invariance' rather than heuristic invariance handling.** _(source: oral_reviews)_\n- **Demonstration that the structural prior is general — validated across multiple tasks, domains, or arbitrary dimension from one framework, not a single benchmark.** _(source: oral_reviews)_\n- **An ablation that isolates the structural mechanism's contribution; reviewers repeatedly fault papers for not separating the proposed structure from a stronger backbone or for leaving the key design choice un-ablated against alternatives.** _(source: reject_reviews)_\n- **Comparison against the relevant state-of-the-art, including the simpler incumbent the method extends — missing or outdated baselines, or failing to beat the prior method, is a recurring rejection trigger.** _(source: reject_reviews)_\n- **Clear delineation of what is novel relative to prior structural methods — reviewers reject work whose components are 'directly inherited from prior work' or where it is 'unclear which components are novel.'** _(source: reject_reviews)_\n- **Sufficient magnitude and breadth of applicability for a theory contribution — even undisputed, correct results are rejected when their scope is judged too narrow for the venue.** _(source: reject_reviews)_\n\n## Cognitive barriers\n- The tacit belief that invariance must be obtained by first projecting the raw representation onto invariant scalar features, treated as a lossless safe simplification; the leap is recognizing that equivariant operators acting on a non-invariant raw representation can preserve the invariant property while keeping the directional structure that featurization throws away.\n- Working entirely inside an established framing — a discrete ladder, an ordered factorization, a flat-geometry basis, a per-pair substructure — so completely that the latent structure is invisible and the assumption can never be empirically falsified, because virtually all prior work lives in the same paradigm.\n- Mistaking a partial, 'canonical' symmetry set for the complete one: assuming discrete reordering or a single fixed reference axis exhausts the equivalence class, when continuous, coupled, or operator-specific symmetries also exist and silently reintroduce the very barrier the construction was meant to remove.\n- Treating a well-understood structural tool — a standard decomposition, an algebraic duality, a classical combinatorial bound — as a fixed computational convenience rather than a manipulable prior that can be embedded into operators, because architecture design and domain structure are habitually handled as separate concerns.\n\n## Examples\n### Oral lessons\n- Reformulating a discrete, step-wise procedure as its continuous-time limit can expose a single parameter-free law that the discrete framing hid, unlocking exact density evaluation and flexible integration that were structurally impossible before.\n- A tiny structured subset that itself satisfies the symmetry property delivers exact compliance at the cost of the subset, collapsing the tractability-versus-exactness trade-off the field had accepted as unavoidable.\n- Enforce invariance through equivariant operators on the raw representation, not by pre-projecting to invariant scalars — directional signal discarded at the input cannot be recovered downstream.\n- When independently trained solutions look like distinct optima, the apparent non-convexity may be a symmetry artifact: factor out the full equivalence group and the separate basins collapse into one.\n- Substituting the geometry-native eigenbasis for a flat-geometry one makes every learned filter commute with the true symmetry group by construction and suppresses artifacts that only surface under long iterative rollouts.\n- A decades-old algebraic duality can index all structure-preserving operators directly in the original basis, letting you skip the expensive irreducible-decomposition detour the field treated as mandatory.\n\n### Reject lessons\n- Composing several existing structure-aware modules into one pipeline, with no single mechanism that provably fails when removed, reads to reviewers as assembly rather than contribution.\n- Encoding a correct domain structure that yields only marginal gains over the baseline it extends invites the verdict that the structure was never the source of any advantage.\n- Extending a known structural result to a new regime without unlocking new identifying structure — and landing inferior to the incumbent it aimed to replace — is methodological dressing.\n- A rigorous structural theorem that applies only to a narrow, restricted architecture and ships with one toy experiment fails on magnitude and breadth, not on correctness.\n- Relaxing a global constraint to a data-inherent subgroup without proving the relaxed operator class is complete leaves reviewers doubting the construction captures all valid maps.\n- When a stronger backbone alone could explain the gains, failing to ablate the proposed structural mechanism against that backbone makes the contribution impossible to credit.\n\n_(corpus support: 61 papers under cluster-level primary)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-patterns/targeted_self_supervised_objective.md", "sha256": "a7e8ba7e87ea63a0446741ed89d53f38b2f7fc85a84c9f69dd75afcb67ba8df1", "text": "# Design a Property-Targeting Pretext Objective\n_id: `targeted_self_supervised_objective`_\n\n**Plain alias**. _Design a property-targeting pretext objective_\n\n**Definition**. Construct a label-free objective (e.g., continuous-label contrastive, hierarchical-ordering, masked prediction on normalized signals) whose minimization forces the representation to encode one specific targeted structural property rather than generic invariance.\n\n**Operational signature**. identify a target structural property → design a label-free objective that only that property minimizes → train the representation to encode it\n\n**When to apply**. When generic representation objectives fail to capture a specific attribute the downstream task depends on.\n\n## Success conditions (from Oral)\n- **A single identifiable mechanism is what forces the property, and the authors can state precisely what the method degenerates into if that mechanism is removed.**\n - rationale: A uniquely-minimizing step is the structural difference between an objective that targets one property and generic self-supervision that captures undifferentiated invariance; being able to name the degenerate baseline is the evidence that the targeting is real rather than asserted.\n- **The targeting claim is anchored in a generative or latent-variable model, or in an established framework, under which the objective is shown to recover the property in principle.**\n - rationale: Theoretical grounding demonstrates the property is recoverable by the loss rather than merely correlated with the gains, and it converts an intuition about what the representation 'should' encode into a defensible recovery argument.\n- **The target property is reframed as geometry — an explicit axis, an ordering, or a shared subspace — instead of a label type attached to instances.**\n - rationale: Casting the property geometrically makes the objective design follow directly from the geometry and supplies an unambiguous measurement target, which is what lets the method both optimize for and verify the property.\n- **Property-sensitive pairs or targets are constructed cheaply and label-free, typically by repurposing signals that already exist (the model's own outputs, automated-tool by-products, or a complementary view).**\n - rationale: Reusing latent signal keeps the method genuinely self-supervised and scalable while still being property-specific, avoiding the trap of needing new annotations to encode the very property the objective is meant to discover.\n\n## Failure modes (from Reject)\n- **Assembling two or more existing self-supervised components into a pipeline without introducing a new identifying mechanism.**\n - rationale: A combination of known objectives provides no argument that the specific target property — rather than generic structure already captured by the parts — is what improves; reviewers consistently classify this as incremental regardless of headline numbers.\n- **Asserting that the representation captures the target property without defining the property or probing for it.**\n - rationale: With no definition or direct probe, observed gains cannot be attributed to the property and may stem from confounds elsewhere in the system, so the central claim is left unsupported.\n- **Omitting comparisons against the closest property-targeting competitors and benchmarking only against generic baselines.**\n - rationale: Without the nearest competitors the marginal contribution of the new mechanism cannot be isolated, leaving open the possibility that simpler existing methods would achieve the same effect.\n- **Reporting aggregate gains without a component-level ablation that isolates the proposed targeting step.**\n - rationale: Reviewers cannot determine whether the property-targeting mechanism or incidental pipeline factors (extra capacity, more training, normalization) drove the result, so the contribution remains unattributed.\n- **Building the method on an unverified assumption that the chosen auxiliary signal or source actually carries the target property.**\n - rationale: If the assumed relatedness between the source and the property does not hold, the objective ends up targeting noise, and the absence of evidence for that assumption undermines the whole construction.\n\n## Oral vs Reject gap\nAccepted papers isolate one load-bearing mechanism and state explicitly what the method collapses to without it — binary contrastive learning, two independent subspace preprocessors, atomic paired contrast, or surface-level clustering — which functions as a proof that the new step, not generic self-supervision, is what encodes the property. Rejected papers' methods already are a composition of known baselines (reconstruction plus contrastive, a frozen predictor plus channel concatenation, recombined mixup variants), so no such collapse argument is possible and the property is asserted rather than uniquely tied to a mechanism. Accepted papers anchor the targeting claim in a generative or latent-variable model or a falsifiable measurement and then ablate that exact component; rejected papers either omit theory or leave it disconnected from the gains, and skip the ablation that would attribute the improvement to the property. Accepted papers also benchmark against the nearest property-specific competitors and probe the representation for the property directly, whereas rejected papers tend to miss the closest baselines and never directly verify that the targeted property is present.\n\n## Oral vs HC gap\nThe high-cited sample here is thin (only two papers), so this contrast is tentative. Both high-cited papers are cross-view self-supervised methods whose core is a recombination — contrastive plus generative objectives, or within-stream self-supervision plus cross-stream multi-view plus nearest-neighbor mining — and reviewers explicitly flagged their methodological novelty as 'combination plus scaling'; they earned citations by being among the first to formalize a practically valuable paradigm (train-time-only privileged structural information; near state-of-the-art with several times less data) and by shipping a reusable, accessible blueprint. Oral papers, by contrast, add a single non-obvious conceptual inversion — reframing the property as a geometric axis or ordering, inverting the specificity direction, or unifying two steps as a mutually reinforcing loop — backed by a collapse argument and theoretical grounding that ties the objective uniquely to the property. In short, the high-cited work graduates on timing and practical impact while the Oral work graduates on a sharper identifying idea with principled justification, suggesting practical impact can substitute for conceptual sharpness in citations but not in Oral selection.\n\n## Reviewer expectations\n- **Provide a principled or theoretical justification for why the objective captures the targeted property, not just an empirical correlation with the gains.** _(source: oral_reviews)_\n- **Show the contribution is more than a recombination of existing techniques — reviewers repeatedly cite 'a careful combination of two existing methods' or 'a stack of existing techniques' as the decisive weakness.** _(source: reject_reviews)_\n- **Compare against the closest related property-specific methods, not only generic baselines, so the marginal contribution can be isolated.** _(source: reject_reviews)_\n- **Define the targeted property and evaluate or probe the representation directly for it rather than inferring its presence from downstream accuracy.** _(source: reject_reviews)_\n- **Run a component-level ablation confirming each part independently contributes, so gains can be attributed to the proposed mechanism.** _(source: both)_\n- **Demonstrate the method generalizes across multiple domains or tasks rather than a single narrow setting.** _(source: both)_\n\n## Cognitive barriers\n- Treating the target attribute as irrelevant noise or as a mere label type, when the default similarity geometry of the representation space is actually blind to it — the leap is to recognize the attribute as a first-class axis the geometry must encode.\n- Framing representation learning and the downstream structuring step (disambiguation, partitioning, alignment) as sequential prerequisites locked in a deadlock, rather than as a mutually reinforcing loop where each step's imperfect output bootstraps the other.\n- Assuming generic self-supervised objectives based on augmentation invariance are already sufficient, which makes a property-specific inductive bias seem unnecessary and leaves latent, reusable signal unexploited.\n- Expecting divergence or separateness as the default, so that shared or convergent structure across views or systems looks incidental — when in fact both are corrupted projections of one underlying latent structure and should be driven toward agreement.\n\n## Examples\n### Oral lessons\n- Generalizing a discrete contrastive loss to a continuous-valued label axis converts 'match versus mismatch' into 'ordered along an attribute,' forcing the embedding to encode that attribute as an explicit geometric axis.\n- The default inner-product similarity is geometrically blind to many target attributes, so replacing it with a property-sensitive similarity measure is what lets the attribute survive in the learned representation.\n- Two independently corrupted views of the same latent structure should share a leading subspace; iteratively driving them toward that shared subspace denoises both at once instead of treating them as separate problems.\n- Representation learning and the downstream structuring step can run as a mutually reinforcing loop where each step's imperfect output bootstraps the other, rather than as a one-directional deadlock.\n- Inverting the assumed specificity direction — treating parts as more general than wholes — is what populates a hierarchical geometry that would otherwise collapse into flat paired contrast.\n- The most informative property-specific supervision often already exists as a by-product (the model's own outputs, automated-tool outputs, or a complementary view) and can be repurposed without any new labels.\n\n### Reject lessons\n- Concatenating an off-the-shelf pretext loss onto an off-the-shelf backbone yields no new identifying signal, and reviewers read the resulting 'combination' as incremental no matter how strong the numbers are.\n- Claiming a representation is disentangled or captures a target property without defining the property or probing for it leaves the gains attributable to confounds.\n- Feeding a frozen predictor's output in as an extra input channel injects structure as a consumed input, not as an objective that forces the representation to learn the property itself.\n- Omitting comparisons with the closest property-targeting competitors makes it impossible to isolate what the new mechanism adds beyond existing methods.\n- Skipping a component-level ablation means improvements cannot be attributed to the proposed targeting step rather than to incidental pipeline factors.\n- Building the method on an unverified assumption that the auxiliary source carries the target property risks targeting noise the moment that assumption fails.\n\n_(corpus support: 15 papers under cluster-level primary)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-patterns/unify_into_shared_representation.md", "sha256": "ebba3230237271e37d5280030ad147493deed2605fe53f5324f3ebb70f1d599c", "text": "# Unify Heterogeneous Inputs into One Space\n_id: `unify_into_shared_representation`_\n\n**Plain alias**. _Unify heterogeneous inputs in one space_\n\n**Definition**. Map heterogeneous modalities or tasks into a single shared representation space, vocabulary, or generative objective, replacing bespoke per-modality pipelines with one uniform model.\n\n**Operational signature**. identify heterogeneous inputs/tasks → map them into one shared representation/vocabulary/objective → process them with a single uniform model\n\n**When to apply**. When multiple modalities or tasks are handled by separate bespoke pipelines that a shared substrate could subsume.\n\n## Success conditions (from Oral)\n- **The structural precondition for unification is established empirically or theoretically before the unified model is built — e.g., a probe showing two representation spaces are nearly homomorphic, or a justification that the learned codebook supplies valid symbolic units.**\n - rationale: Demonstrating compatibility up front converts the architecture from a hopeful bet into a justified consequence; it gives reviewers a causal account of why the shared substrate works, rather than an end metric that could be explained by confounds.\n- **A single uniform objective (masked recovery, next-token prediction, similarity matching) is made to apply identically across heterogeneous inputs by collapsing their structural gap — most often by discretizing a continuous signal into tokens compatible with a symbolic vocabulary, or by recasting every task as masked-component recovery.**\n - rationale: Once inputs share a representational format, one objective and one architecture replace per-modality decoders and per-task heads, which is the structural source of cross-task and cross-modal transfer the bespoke pipelines cannot reach.\n- **Unification unlocks an emergent capability that the bespoke pipeline is structurally incapable of producing — zero-shot transfer to unseen tasks, cross-format generalization, open-world coverage, or arbitrary natural-language querying — and that capability is measured, not merely named.**\n - rationale: A capability that only a shared substrate can yield is the clearest evidence the unification is load-bearing rather than cosmetic, and it differentiates the contribution from a stronger single-modality baseline.\n- **Heavy pretrained components are kept frozen and bridged through a lightweight, decoupled interface, with representation alignment separated from generation (e.g., learn what source information is relevant before exposing it to a frozen generator, or make the bridge condition on the query).**\n - rationale: Decoupling lets a small module do the identifying work cheaply and avoids the failure where a single end-to-end loss cannot teach a frozen generator to consume an unfamiliar modality; it also makes the bridge the locus of the contribution.\n- **The bridging units are made semantically rich through iterative refinement, distillation, query-conditioning, or hierarchical decomposition rather than left as a fixed generic mapping.**\n - rationale: A static or cold-start discretizer/projection caps representation quality at its initialization; bidirectional feedback or task-conditioning is what lets the shared units carry abstract structure instead of low-level surface statistics.\n- **Generality is validated across multiple tasks, domains, languages, or backbones, with ablations isolating each design choice.**\n - rationale: The selling point of unification is breadth, so breadth must be demonstrated; design-isolating ablations are what let reviewers attribute gains to the unifying mechanism rather than to scale or data.\n\n## Failure modes (from Reject)\n- **Mechanically recombining off-the-shelf components (a contrastive encoder plus a mixture model, a frozen sequence model plus a projection, a standard fusion decoder) without a new identifying or structural insight.**\n - rationale: Reviewers recognize the assembly as 'common practice' or 'incremental' because no inherited assumption is dissolved; the work demonstrates a known trend rather than enabling something previously impossible, so the unification reads as engineering integration.\n- **Reporting aggregate gains without an ablation that isolates the unification mechanism, so the improvement remains attributable to a confound — a stronger backbone, more pretraining data, or merely having access to extra context.**\n - rationale: When the obvious control (concatenate-the-same-context, swap-the-supervision-regime, shuffle-ablation) is missing, a simpler explanation than the proposed mechanism survives, and the headline claim cannot be credited to the unification.\n- **Supporting a generality claim with evidence from a single backbone, a single model family, or two small datasets.**\n - rationale: Unification promises transfer and breadth, so narrow validation directly contradicts the contribution's premise; reviewers infer the method may be an artifact of one configuration rather than a general substrate.\n- **Naming a capability or concept central to the contribution (faithfulness, intention, an emergent collaborative signal) but never supplying a metric that measures it.**\n - rationale: An unmeasured headline concept makes the core claim unverifiable; proxy metrics designed for a different property cannot stand in, and reviewers treat the central thesis as unsupported.\n- **Building the shared substrate on a lossy proxy whose distortions get imported into the harder task, or overreaching a 'universal' reduction that not all target instances actually satisfy.**\n - rationale: If the bridge inherits the proxy's information loss or assumes a reduction that fails for many instances, the unification undermines rather than helps the target objective, and the universality claim collapses under counterexamples.\n- **Shipping a unified system that adds architectural complexity but does not clear the specialized state-of-the-art baselines (sometimes failing to 'work' at all).**\n - rationale: Without a performance payoff, the unification is pure cost; reviewers see no reason to prefer the general model over the specialized pipelines it claims to subsume.\n\n## Oral vs Reject gap\nOral papers name the single inherited structural assumption and dissolve it with one clean mechanism, then prove that mechanism is load-bearing through ablations that swap it out — discrete versus continuous prediction targets, error-aware versus plain clustering, per-type losses versus forced quantization. Reject papers instead wire together off-the-shelf components and report aggregate gains without an ablation that isolates the unification from confounds like a stronger backbone, more data, or mere added context, so a simpler explanation survives. Oral papers establish that the shared space is valid before exploiting it — a linear-probe homomorphism check, a codebook-validity argument, a distributional-alignment measurement — whereas rejects assert compatibility and let the end metric be the only evidence. Oral papers demonstrate an emergent capability the bespoke pipeline structurally cannot yield (zero-shot cross-format transfer, open-world generalization) and measure it directly, while rejects name a capability such as faithfulness, intention, or a collaborative signal but never quantify it. Finally, Oral papers validate across multiple tasks, domains, or languages and clear specialized baselines, whereas rejects often validate on one backbone or two datasets and lag state of the art, leaving the added complexity unjustified.\n\n## Oral vs HC gap\nThe HC sample in this cluster is large and consistent, so the distinction is well grounded. HC papers are typically large-scale, reproducible demonstrations that a shared substrate works and becomes a community reference — a stronger encoder swapped into a cross-modal pipeline, a single generative objective scaled on weak supervision, a pretrained sequence model repurposed for a new modality — and they earn citations by releasing artifacts and setting baselines. But their meta-reviews repeatedly flag the unification move itself as \"expected,\" \"a known trend,\" or \"limited methodological novelty\": the result confirms a belief rather than overturning one. Oral papers add a non-obvious conceptual reframe on top of comparable execution quality: they pinpoint the specific assumption the field inherited and show, with isolating ablations, that a single mechanism dissolves it — separate losses inside one shared model, asymmetric masking that induces correspondence, output units treated as opaque matchable tokens, or re-scoping the dominant component as an experimental variable. In short, HC equals scalable, useful, reference-setting execution of a somewhat-expected unification, while Oral equals that same execution plus a load-bearing structural insight that is validated as the actual cause of the gains.\n\n## Reviewer expectations\n- **Ablations must isolate the unification mechanism from confounds, demonstrating that gains come from the shared substrate rather than from a stronger backbone, more data, or simply having access to extra context.** _(source: both)_\n- **Include the obvious skeptic's baseline — e.g., concatenating the same context without the unified training, or matching parameter/data scale — so the contribution of training-for-unification is separable from mere information access.** _(source: reject_reviews)_\n- **Generality claims must be backed by validation across multiple backbones, datasets, or domains; results on a single model or two narrow datasets are insufficient for a method whose value is breadth.** _(source: reject_reviews)_\n- **Any capability or concept the paper foregrounds (faithfulness, intention, an emergent signal, openness) must be measured with a direct metric, not asserted or evidenced only by proxy scores.** _(source: reject_reviews)_\n- **Each design choice in the unified recipe should be justified by a thorough ablation (e.g., discrete vs. pixel targets, blockwise masking, the aligning objective), and a principled rather than empirical justification for the core substitution is rewarded.** _(source: oral_reviews)_\n- **Opening a reusable research direction and releasing artifacts (models, data, benchmarks) that lower the barrier for follow-on work is valued and frequently cited as a reason for the strongest acceptances.** _(source: oral_reviews)_\n\n## Cognitive barriers\n- The deeply held belief that continuous or structured signals have no discrete vocabulary analogous to symbolic units, which makes a uniform symbolic objective feel categorically inapplicable — so researchers never search for a learnable quantizer that would supply such a vocabulary and decouple discretization from representation learning.\n- The conflation of 'one model' with 'one objective,' which makes practitioners assume that unifying inputs forces either lossy quantization into a single format or fragmentation into specialists, blinding them to the possibility of per-type losses and per-type interaction patterns inside one shared backbone.\n- The assumption that a model must internalize output semantics or task identity in order to predict them, so structurally heterogeneous outputs seem to require task-specific heads — obscuring that output units can be treated as opaque tokens matched by input-space similarity, or that every task can be recast as masked-component recovery.\n- The habit of treating a dominant component or an existing pipeline stage (the prevailing encoder, the fixed preprocessor, the two-stage split) as fixed infrastructure rather than an experimental variable, so the inherited capacity asymmetry or representational gap is never questioned even when it is the binding bottleneck.\n\n## Examples\n### Oral lessons\n- When a continuous domain seems to lack a vocabulary for a symbolic objective, a learned quantizer can supply one — but its units must be made semantically rich through iterative refinement or distillation, or the objective degenerates into low-level reconstruction that wastes capacity.\n- A unified model does not require a unified objective: a single shared backbone can simultaneously carry type-specific losses (autoregressive prediction for discrete elements, iterative denoising for continuous ones) and thereby avoid the information loss of forcing everything into one format.\n- Before committing to an identifier-free or fully unified model, prove the two spaces are already compatible with a cheap probe such as a learned linear map; establishing that structural precondition is what licenses the architecture and is the load-bearing move.\n- Treating output units as opaque tokens matched by input-space similarity lets one architecture handle structurally heterogeneous outputs without internalizing their semantics, dissolving the assumption that each output type needs its own prediction head.\n- When a dominant component is treated as fixed infrastructure, re-scoping it as an experimental variable — scaling the under-scaled encoder toward parity, or swapping its supervision regime — can reveal it was the real bottleneck all along.\n- A single representational choice, like asymmetric masking across an ordered pair of observations, can convert a reconstruction objective into a correspondence-learning objective and replace a stack of hand-engineered invariances.\n\n### Reject lessons\n- Wrapping a learned projection around two off-the-shelf components without unlocking new identifying structure is methodological dressing, not contribution — reviewers read it as 'common practice' and 'incremental.'\n- If you cannot rule out that a stronger backbone, more data, or merely added context explains the gains, the unification claim is unsupported, so the confound-isolating baseline is not optional.\n- Naming a capability — faithfulness, intention, an emergent collaborative signal — without a metric that measures it directly leaves the headline claim unverifiable and is enough on its own to sink the paper.\n- Validating a generality claim on a single backbone or two datasets invites rejection, because the entire premise of unification is breadth and the evidence must match that scope.\n- A shared substrate that imports a lossy proxy's distortions into the harder task, or a 'universal' reduction that not all instances actually satisfy, undermines the very unification it advertises.\n- If the unified system does not clear the specialized state-of-the-art it claims to subsume, the extra architectural complexity reads as cost without payoff and reviewers see no reason to adopt it.\n\n_(corpus support: 82 papers under cluster-level primary)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C00.md", "sha256": "0bc790076bc61bc5a902094b3b1326375b20a2210540b9665c97728f8a869d56", "text": "# C00\n_parent: **Reframe as a Solvable Object** (`reframe_as_solvable_object`)_\n\n## Tactical pattern\n\nThis cluster recasts an opaque transparency question about an already-trained model or dataset — which feature/datum/internal component is responsible, how uncertain a prediction is, what a hidden representation encodes — as a concrete measurement over a well-studied object: a manifold-constrained counterfactual optimization, a submodular subset selection, an expectation/estimator over marginal statistics, an additive decomposition into a (often sparse) basis, or an influence/Shapley score accumulated along the optimization trajectory. The decisive move is choosing the right unit of analysis and the right faithfulness constraint so the resulting scores reflect the model's actual computation rather than an off-distribution or post-hoc artifact — e.g., searching counterfactuals only on the learned data manifold, decomposing into monosemantic sparse directions before causal tracing, or embedding the explanatory predictors as the primary decision representation. Tractability is then bought with a single compression trick (random projection, greedy submodular search, fixed-size accumulator vectors, closed-form per-step expansion). Fidelity is finally certified either by a causal intervention that flips model behavior when the identified object is perturbed, or by a soundness/optimality proof, rather than by the visual plausibility of the produced explanation.\n\n## Step-by-Step\n\n1. Pin down the opaque target as a precise quantity. Take the informal question — why did it decide this, how much did this datum matter, how confident should it be — and commit to a formal definition of responsibility or uncertainty rather than leaving it implicit. A definition you cannot defend as the 'real' quantity (no soundness argument, no axiomatic grounding) is the first thing reviewers attack, so make the definition itself a load-bearing claim, not a notational convenience.\n2. Map the quantity onto an existing well-understood object and its solver. Recognize the target as an instance of counterfactual optimization, subset selection, expectation estimation, basis decomposition, or influence/Shapley allocation so that mature machinery and guarantees apply. Choose the object whose native correctness criterion already coincides with what 'faithful' means for your quantity, rather than the one that is merely most familiar.\n3. Fix the unit of analysis and the faithfulness constraint before computing anything. Decide whether the atoms are raw inputs, grouped regions, native architectural components, or a learned sparse basis, and impose the constraint that keeps every output on the model's own manifold or consistent with its computation. Skipping this — pointing an off-the-shelf tool at a coarser granularity or a new architecture without re-justifying that the signal survives the move — is the canonical mechanical-wrapper rejection.\n4. Buy tractability with one compression or linearization trick. Convert the exact-but-expensive object (exponential subset re-evaluation, full-parameter kernels, trajectory re-simulation) into something computable via random projection, greedy submodular search, fixed-size accumulators, or local per-step expansion. The trick must provably preserve the ranking or value it approximates; a fast approximation that silently changes the quantity is no better than the heuristic it replaces.\n5. Certify fidelity causally or by proof, not by plausibility. Validate that perturbing or ablating the identified object actually shifts model behavior in the predicted direction, or prove the estimator is unbiased, optimal, or sound under stated conditions. Correlational evidence, eyeballed heatmaps, or 'looks reasonable' without a confound-controlling test is precisely the gap that sinks otherwise-clever reframings.\n\n## Differentiation within parent\n\nWhere sibling cluster 27 reframes its target as a differentiable multi-agent game whose Nash equilibrium is engineered to coincide with the desired solution — making equilibrium existence/coincidence the correctness criterion — this cluster reframes opaque model-transparency questions as a measurement: an estimator, selector, or decomposition whose output is a per-unit responsibility or uncertainty score and whose correctness criterion is fidelity-to-a-fixed-model, certified by causal intervention or a soundness proof. Sibling cluster 21 instead reframes its problem as a generative iterated-transmission / emergent-language process — a dynamics over successive learner generations rather than a static scoring of one trained artifact. The distinguishing move here is that the object being solved produces an attribution or uncertainty number about an already-trained model or dataset and is validated by perturbing that model, not by reaching an equilibrium (cluster 27) or simulating a transmission dynamic (cluster 21).\n\n## When to pick this one\n\nPick this instantiation when the problem is to explain, attribute, or quantify confidence about a single already-trained model or fixed dataset and you need a faithful per-unit responsibility or uncertainty score — not when the structure is competitive/multi-party (which favors an equilibrium reframe) or generative across successive populations. The tell is a fixed artifact whose internal behavior you must measure, plus an existing measurement object (counterfactual, subset selection, decomposition, influence/Shapley, causal mediation) you can validate by perturbing the model itself.\n\n## Tactical failure mode\n\nThe signature failure is treating the reframing as a mechanical wrapper: taking an established attribution, decomposition, or estimation tool and pointing it at a new input granularity, a new architecture, or a new domain without re-deriving why the resulting scores are faithful to the model. These papers supply the computation but not the justification — no causal validation that the identified components actually drive behavior (only correlation), no axiomatic or soundness argument for why the proposed definition is the 'real' importance, and no confound control, so a reviewer can point to a methodological artifact (a computation-granularity difference, a degenerate zero baseline, an off-manifold perturbation) that explains the result instead. A second variant under-specifies the object itself — an unformalized threat model, an operationally undefined key concept, or a fitting choice that makes all contributions trivially equal — leaving the central claim unverifiable. A third variant surveys or recombines existing tools without a unifying axis or a decisive experiment, so the contribution reads as community-local rather than novel. The common root is the assumption that because the target object is well-studied, faithfulness and novelty transfer for free; they do not — the reframing's value lives entirely in the faithfulness constraint and the validation, not in the act of mapping.\n\n## Examples\n### Oral lessons\n- Embedding the explanatory quantities as the primary basis of the model's decision — rather than fitting them as a separate post-hoc proxy — makes an explanation sound by construction, even when it introduces a circular dependency you must resolve with lagged targets.\n- Constraining a counterfactual search or decomposition to the model's own learned geometry (a generative manifold, a residual-additive subspace, a shared cross-modal space) keeps the reframed object faithful instead of producing off-distribution artifacts.\n- Abandoning the assumption that attribution must cover the entire input lets you reframe explanation as compact subset selection and inherit a provable near-optimality guarantee from submodularity.\n- An elegant but exponentially expensive attribution definition becomes a usable tool only after a single compression move — random projection, fixed-size trajectory accumulators, or a local per-step expansion — collapses it to a cheap lookup or closed form.\n- Pairing a discovered internal structure with a causal intervention that flips behavior when it is perturbed converts correlational interpretability into causal evidence reviewers trust.\n- When the quantity you want is provably simpler than the model that produces it, estimate it directly from available marginal statistics and skip the model-fitting detour entirely.\n\n### Reject lessons\n- Pointing an off-the-shelf decomposition at a coarser input granularity without showing the coarser units preserve the signal reads as a wrapper, not a contribution.\n- Porting a known attribution technique to a new architecture or domain while ignoring that technique's documented failure modes — and omitting comparisons to alternatives — leaves reviewers unable to see any unique benefit.\n- Proposing a new attribution definition without an axiomatic or causal argument for why it should count as ground-truth collapses the moment a reviewer asks why this is the real importance.\n- Conflating a methodological artifact — a computation-granularity difference, a degenerate zero baseline — with genuine signal undermines the entire premise once the confound is identified.\n- Building a suppression or privacy method without formalizing the threat model leaves the central guarantee unverifiable regardless of strong empirical numbers.\n- Surveying or recombining fragmented methods without a unifying axis or a decisive controlled experiment yields a contribution reviewers dismiss as anecdotal.\n\n_(cluster size: 46 papers)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C01.md", "sha256": "a09198aec391b4beef0c9630b9c1a1793275ee6b72e8276646b76a95d69b7a3c", "text": "# C01\n_parent: **Audit and Pivot an Assumption** (`assumption_audit_and_pivot`)_\n\n## Tactical pattern\n\nAcross this cluster the audited assumption is always about the *representational locus* at which a security, detection, provenance, or safety property is presumed to be enforced — and the tactical move is to relocate the attack or defense to a different locus the field treated as irrelevant or invariant. Concretely: triggers are moved from the input image to the supervision/label co-occurrence space; the comparison signal for malicious updates is moved from parameter/gradient divergence to scalar-score distribution geometry; the detection feature is moved from a scalar confidence to local curvature, positional-depth profile, or the full sampled output distribution; provenance is moved from raw parameter comparison to transformation-invariant kernel alignment over intermediate activations; defense interception is moved from the output boundary to internal state trajectories. For attacks, the papers show the overlooked locus is exploitable at far lower cost or access than the assumed locus implied; for defenses, they show the overlooked locus carries an attack-agnostic, transformation-invariant signal the assumed locus lacks. The unifying verbs are \"relocate the signal,\" \"re-anchor enforcement,\" and \"demonstrate exploitability/robustness at the new locus.\"\n\n## Step-by-Step\n\n1. Name the single representational locus that current attacks or defenses in the target security/detection setting all operate on (input perturbation, parameter/gradient divergence, scalar confidence score, deterministic mode output, externally-injected artifact), and state the tacit sufficiency-or-invariance claim bolted to it as a falsifiable proposition about where the load-bearing signal lives. The sharper the claim ('the trigger must be in the input', 'scale dilutes contamination', 'the scalar score is the signal'), the more leverage the pivot has.\n2. Identify an alternative locus — supervision records, intermediate-activation geometry, score-distribution shape, the full stochastic output distribution, behavioral input-output traces, internal-state trajectories — and argue structurally why the property of interest must manifest there too, ideally MORE robustly: invariant to the very transformations or access restrictions that defeat the assumed locus. If the alternative is only a cosmetic variant of the assumed locus, reviewers fold the contribution back into prior work, so the distinction must be load-bearing and explicit.\n3. Build the mechanism at the new locus: for an attack, the lowest-access, lowest-budget operation that exploits it; for a defense, a signal demonstrably agnostic to the attacker's configuration or insertion point. Where possible, couple detection and action through the same locus signal so the move is one unified primitive rather than two bolted-on stages.\n4. Validate against the strongest adversary that actually knows the new locus — an adaptive attacker for a defense, or the realistic access/budget constraints for an attack — not merely a fixed, non-adaptive baseline. Quietly demonstrating the move only against the bypassed locus, or against outdated baselines, is the single most common reason this tactic fails to convince.\n5. Supply a mechanistic account of WHY the new locus carries the signal — an invariance proof, an impossibility-style bound, or a root-cause decomposition of the pipeline — not merely evidence THAT it does. A relocation shown to work but never explained reads as a stacked combination of existing components or an anecdote, and forfeits the conceptual-lens credit that elevates these papers.\n\n## Differentiation within parent\n\nAll siblings share the parent's audit-and-pivot signature, but they pivot mathematical objects inside a fixed locus, whereas this cluster pivots the locus itself in adversarial/empirical security and safety settings and validates with attack-success rates and detection performance rather than tighter analysis. Cluster 11 re-derives privacy-accounting bounds by reframing repeated selection as a resource-bounded mechanism — the assumption is relaxed but the quantity (a cumulative bound) and its locus (the accounting calculus) are unchanged; this cluster instead relocates the enforcement point entirely (e.g., from parameter-divergence to score-distribution geometry) and shows the old locus was the wrong place to look. Likewise cluster 29 proves a new property of a projection operator on a constraint set and cluster 5 derives an exact algebraic equivalence between model families — both are theorem-driven reformulations of analytic structure, while this cluster's deliverable is a demonstrated attack surface or a transformation-invariant detection signal. The contrast is empirical-locus-shift-under-adversary versus closed-form-quantity-tightening.\n\n## When to pick this one\n\nPick this instantiation when the gap sits in a security, safety, detection, or provenance setting and you can observe that every existing attack or defense is anchored at one representational locus (raw input, parameters/gradients, a scalar score, a deterministic output, or an injected artifact). The trigger to instantiate here is a suspicion that the real load-bearing signal lives at an overlooked locus — labels, activations, distribution shape, or behavior — that the field has tacitly assumed irrelevant or invariant.\n\n## Tactical failure mode\n\nThe recurring failure is a successful relocation that is demonstrated but not adversarially closed: the paper shows its new-locus attack or defense beats a fixed, non-adaptive baseline, yet never stress-tests against an informed adversary who also operates at the new locus, so stealthiness, evasion, or robustness claims are asserted rather than proven. A second shape is a novelty-boundary collapse — the \"new\" locus turns out to be one a prior paper already used (normalization statistics, activation-similarity alignment, pre-encoded semantic concepts), and the work fails to quantify what is genuinely different. A third is reintroducing the very assumption the relocation was meant to dissolve, by depending on a clean reference model, a known anomaly distribution, or other access the realistic threat model denies. A fourth is offering only a demonstration with no mechanistic account of why the locus carries the signal, which reads as a stacked pipeline of off-the-shelf parts. Self-check: can an adversary who knows your new locus defeat it as cheaply as the old one, is your locus provably distinct from published loci, and can you state structurally WHY the signal lives there?\n\n## Examples\n### Oral lessons\n- Moving a trigger or detection signal from the input space to the supervision/label space opens an attack surface the entire defense literature was built around the wrong locus to catch.\n- A detection or provenance signal anchored in intermediate-representation geometry survives exactly the transformations — fine-tuning, pruning, unit reordering, rescaling — that destroy parameter- and output-level signals.\n- Treating the shape of a learned distribution (its local curvature, positional-depth profile, or full sampled spread) as the signal, rather than a scalar summary, surfaces structure that point estimates provably discard.\n- Replacing a randomized, probabilistic guarantee with a deterministic combinatorial construction at the same structural locus can upgrade a soft bound into an exact certificate.\n- Showing that a stated security property itself — an imperceptibility norm bound, scale-induced dilution, or deterministic evaluation — is the exploitable handle converts a design parameter into a provable vulnerability.\n- Decomposing an empirically observed failure into structural root causes of the training pipeline turns ad hoc attack discovery into a systematic, predictive design process.\n\n### Reject lessons\n- Claiming a relocated signal is 'stealthier' or 'harder to remove' without defeating an adaptive defender who searches the same new locus leaves the central claim unverified.\n- Relocating to a locus already exploited by published work — normalization statistics, activation-similarity losses, semantic concept triggers — collapses the novelty boundary unless the difference is made explicit and measured.\n- A defense whose relocation silently depends on a clean reference model or a known anomaly distribution reintroduces precisely the strong assumption the move was supposed to eliminate.\n- Demonstrating the new locus only on fixed, non-adaptive or outdated baselines while omitting any account of why it works reads as a stacked pipeline of existing components rather than a principled shift.\n- Wiring off-the-shelf generators or tools into a new attack setting without a structural reason for the locus change gets judged as engineering integration, not insight.\n\n_(cluster size: 48 papers)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C02.md", "sha256": "c526fdc812d2e955da7de11c64be2a0858fa65f331ae0679b5d9170a1d96b5ff", "text": "# C02\n_parent: **Design a Confound-Isolating Diagnostic** (`controlled_diagnostic_design`)_\n\n## Tactical pattern\n\nThe shared move is to construct a controlled set of evaluation instances in which exactly one named confound is either structurally blocked or independently varied, then report the divergence between apparent and de-confounded performance as the primary result rather than an aggregate leaderboard score. Concretely the authors do one of: parameterize instances as templates with typed slots and consistency constraints so surface form varies independently of reasoning structure; generate instances from a formal specification so intermediate steps are verifiable; gate instances by provenance timestamp relative to each system's training cutoff; stratify instances by realism (pedagogical versus production); suppress one input cue or withhold one modality at a time; randomize answer-option order; or build same-source positive/negative pairs with controlled defect injection. The confounds attacked are recurring and specific — memorization/contamination, surface style, the generating source's capability, single-modality shortcuts, scoring-function nonlinearity, and task-format exposure — and the load-bearing artifact is always the controlled instance set paired with an oracle independent of the system under test. The headline finding is the measured gap itself (a transition that vanishes under a linear metric, a score that collapses when an irrelevant clause is inserted, an 87%-versus-37% split between pedagogical and production partitions), used to overturn a face-value reading of an existing measurement.\n\n## Step-by-Step\n\n1. Name the exact confound and the true property it masks. Write down the single manipulable artifact you believe is inflating the current measurement — a memorized test set, a surface-style cue, the generating source's capability, a single-modality shortcut, a nonlinear scoring function, or task-format exposure — and state precisely which property it is being mistaken for. A diffuse 'this benchmark is flawed' framing is insufficient; instruments whose target confound is never pinned to one variable are turned away as vague.\n2. Construct controlled instances that block or independently vary that one confound while holding everything else fixed. Use synthetic generation from a formal spec, typed-slot templates with consistency constraints, per-cue suppression, provenance/timestamp gating, realism stratification, or matched same-source pairs with injected defects — whatever isolates the chosen axis. Keep all other axes constant so any measured difference is attributable to the confound alone; uncontrolled co-variation between surface change and structural change is the most common reason the isolation claim fails.\n3. Supply ground truth that is independent of the system under evaluation. Verifiability must come from how the instance was constructed — a known derivation path, a planted failure region, a mechanistic pass/fail criterion, an exchangeability-based null distribution — never from the evaluand's own consensus or a self-asserted, contested definition. Designs whose oracle is the very population being judged, or that hardcode the definition they claim to test, are rejected for circularity.\n4. Report the divergence between apparent and de-confounded performance as the headline result, and ensure it reveals something not knowable in advance. The contribution is the gap itself — a discontinuity that disappears, a score that drops sharply, a partition that splits cleanly — not a restatement of a limitation the field already accepted. An instrument that merely re-confirms a documented shortcut, surfacing no previously unmeasurable failure, reads as confirmatory and is declined.\n5. Bound the claim to exactly what the instances probe and demonstrate the isolated signal survives outside the controlled regime. Show transfer from synthetic to realistic conditions, or explicitly scope the conclusion to the task structure actually tested. A narrow single-task or small-N instrument carrying broad capability claims invites a scope-mismatch rejection, and a synthetic-only result with no real-world corroboration invites an ecological-validity rejection.\n\n## Differentiation within parent\n\nSingleton under parent methodology — no sibling clusters exist.\n\n## When to pick this one\n\nReach for this when you can name a specific shortcut or artifact you suspect is inflating a reported measurement AND you can construct instances that hold it fixed or vary it independently while an oracle independent of the system under test scores the de-confounded instances. If you cannot block the confound without retreating to an artificial regime, or your only available ground truth is the evaluand itself, this tactic will collapse into circularity.\n\n## Tactical failure mode\n\nPapers attempting this tactic fail most often when the constructed instrument isolates the confound only inside an artificial regime and never demonstrates that the isolated signal transfers to real deployment conditions — the synthetic-to-real gap is asserted rather than shown. A second recurring shape is circularity: the diagnostic is validated against the same definition, assumption, or system population it was built to interrogate (using the evaluated models as their own oracle, or hardcoding a contested definition of the target property), so it cannot independently confirm what it claims. A third is the confirmatory benchmark — the instrument re-derives an already-documented limitation and surfaces nothing that was not knowable in advance, leaving reviewers without an actionable new finding. Finally, scope-claim mismatch (a single-task or small-N instrument carrying broad capability claims) and pure engineering assembly (stacking retrieval/knowledge-base/pipeline blocks with no isolating insight) both read as insufficient contribution. A candidate can self-check against three questions: does the instrument surface a genuinely new, previously-unmeasurable gap; is its ground truth independent of the evaluand; and has the isolated signal been shown to hold outside the controlled regime.\n\n## Examples\n### Oral lessons\n- Treat the scoring function as an active independent variable: swapping a nonlinear metric for a continuous one on the same fixed outputs can dissolve an apparent capability discontinuity, proving it was a measurement artifact rather than a real jump.\n- When systems differ in their exposure to a confound, equalize by applying the confounding treatment uniformly to all of them rather than trying to strip it out of the advantaged ones.\n- A forced-choice contest between two cues measures relative salience, not load-bearing reliance; suppressing each candidate cue independently and measuring the resulting performance drop yields a confound-free dependence score.\n- Sourcing evaluation instances with provenance timestamps later than each system's training cutoff converts contamination from an unknowable confound into a structurally eliminable, empirically observable phenomenon.\n- Inverting the difficulty axis — choosing tasks trivial for the reference population but requiring reliable multi-step orchestration — exposes a capability gap that difficulty-scaled instruments are structurally unable to surface.\n- Measuring coverage at large sample counts instead of single-sample accuracy distinguishes whether an optimization procedure expands the solvable set or merely resharpens probability mass over capabilities the base system already had.\n\n### Reject lessons\n- A diagnostic that only re-confirms a shortcut already known in advance, surfacing no previously unmeasurable failure, is read as confirmatory rather than as a contribution.\n- Validating a synthetic-ground-truth instrument only on synthetic data, without demonstrating that the controlled finding transfers to real-world instances, leaves ecological validity unestablished and undermines the central claim.\n- Building the instrument around one contested definition of the target property means it cannot independently confirm that the definition is correct, and reviewers flag the resulting circularity.\n- Resting an unsupervised evaluation on the unverified premise that the systems under test can reliably judge one another stakes the entire method on an assumption that collapses under scrutiny.\n- Pairing a single-task or small-sample instrument with broad capability claims triggers a scope-mismatch rejection, and assembling retrieval or engineering blocks without an isolating scientific insight reads as application rather than research.\n\n_(cluster size: 86 papers)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C03.md", "sha256": "8c69e090645656f141b869a7701f6f611917395f2abf6578eced99520dea6da9", "text": "# C03\n_parent: **Adapt by Conditioning, Not Retraining** (`adapt_via_conditioning`)_\n\n## Tactical pattern\n\nExpress a whole family of heterogeneous target tasks in one canonical conditioning schema — an instruction/prompt template, a reference-query example layout, a retrieved (state, outcome, action) tuple sequence, a relational graph, or transferred per-class statistics — and then run a single upstream phase (broad multi-task supervised tuning, meta-learning over a procedurally generated task distribution, or synthetic-data pretraining) that teaches one frozen model to PARSE that schema and compose a never-seen task's answer from its conditioning inputs at inference. A complementary sub-move skips upstream tuning entirely and instead transfers the reference substrate itself into the query's prediction through a shared learned representation space: interpolating location/spread statistics from similar categories, retrieving nearest reference instances as a first-class input, aligning the target distribution to the source before adaptation, or amplifying a base-vs-adapted density-gradient offset. The load-bearing artifacts are the unified format and the reference substrate the model draws on, not new task-specific parameters. The generalization claim is earned by holding out entire task categories or target distributions and evaluating only there, rather than holding out instances of seen categories.\n\n## Step-by-Step\n\n1. Choose a single canonical conditioning schema that can express many heterogeneous target tasks as one input-output format, and make the schema carry the task specification implicitly so a never-seen task needs no new parameters. The format itself should be the thing the model learns to read. Verify the schema is more than a thin re-skin of an existing conditioning scheme, because reviewers read a cosmetic reformat as a domain port with no contribution.\n2. Assemble the reference substrate the model will compose from: a broad multi-task corpus spanning many task categories, a procedurally generated or synthetic task distribution, or a retrievable bank of reference instances embedded in a shared representation space. Push for breadth across categories rather than depth on one, since a substrate covering a single task or one narrow primitive yields gains that look task-specific and unsurprising however large they are per task.\n3. Run one upstream phase that teaches the model to interpret the conditioning format rather than memorize answers — multi-task tuning, meta-learning under a frontier curriculum that tracks the learner's current ability, or synthetic pretraining — or, when skipping upstream tuning, align the query directly to the reference substrate in a shared space (transfer statistics, retrieve neighbors, amplify a distributional offset). Keep 'how to read conditioning' decoupled from 'what the answer is'; collapsing the two quietly reintroduces per-task fitting.\n4. Define the generalization test at the level of task categories or target distributions, not held-out instances: exclude entire clusters during the upstream phase and evaluate exclusively on the excluded ones. Audit for overlap between the upstream corpus (and any base-model pretraining) and the evaluation set, because an unaudited leak silently converts the held-out claim into ordinary in-distribution performance and draws a contamination rejection.\n5. Isolate the contribution against the adversarial baseline a skeptic reaches for first — a simpler conditioning variant given the same budget, such as nearest-neighbor lookup, a longer raw context, multi-task tuning without your format, or retrieval without the new fusion module — and report exactly where your move wins and where it does not. Comparing only against ablations of your own method, or omitting the cheap alternative entirely, leaves the reported gain unattributable to the proposed mechanism.\n\n## Differentiation within parent\n\nSingleton under parent methodology — no sibling clusters exist.\n\n## When to pick this one\n\nInstantiate this tactic when you can both name a single format or shared representation space that expresses your entire target-task family and assemble a broad reference substrate (multi-task corpus, synthetic task distribution, or retrievable bank), so that generalization can be earned by holding out whole categories rather than tuning per task. The clearest trigger is a setting where a parameter-free or near-free conditioning baseline already rivals a much larger trained model, signalling an unexploited structural inductive bias.\n\n## Tactical failure mode\n\nThe recurring failure shape is adopting a conditioning recipe known to work in one domain and porting it to a new modality or task family without any theory for why the conditioning signal carries task-relevant structure there, then reporting only modest gains over strong baselines. The headline 'training-free,' 'zero-shot,' or 'held-out generalization' claim is undercut because the experimental setup quietly violates its own premise — evaluation data or near-duplicates leaked into the upstream or base-model pretraining corpus, the method needs idealized access (the exact base checkpoint), or the demonstrated scope is a single task with no recipe for finding the analog elsewhere. These papers also omit the one baseline that would isolate the contribution — a simpler conditioning variant (nearest-neighbor, longer context, multi-task tuning without the format) under equal budget — and instead compare against ablations of their own method, leaving the gain unattributable; multi-component variants compound this with ablations too shallow to justify each module. Self-check: can you name a simpler conditioning baseline you beat under matched budget, prove no leakage between your upstream corpus and your held-out categories, and show the move on more than one task or modality?\n\n## Examples\n### Oral lessons\n- When labels are sparse, fix the estimated distribution rather than the classifier: transferring spread statistics from structurally similar well-sampled categories is near-free and beats adding model capacity.\n- Teaching a model to parse one unified task format across many task categories makes the format itself the learned skill, enabling transfer to structurally novel held-out categories rather than overfitting to seen task types.\n- Reframe a cross-domain gap as distributional rather than structural: aligning representation distributions before adaptation reuses accumulated pretrained knowledge and removes the need for domain-specific architectural redesign.\n- In-context adaptation can be made to emerge by jointly scaling model capacity, memory horizon, and task-distribution breadth under a curriculum that tracks the learner's frontier — generalization is a joint-scaling problem, not an architecture-alone problem.\n- Train a context-interpreter on cheap procedurally generated synthetic data so parameters encode 'how to read context' instead of 'what to do,' decoupling the capability from collecting target-task data.\n- A parameter-free nearest-instance baseline that already matches large models exposes retrieval as an unexploited structural inductive bias — make retrieval a first-class trained input modality, not a post-hoc augmentation.\n\n### Reject lessons\n- Claiming 'fine-tuning-free' or 'zero-shot' while training splits of the evaluation tasks sit inside your upstream corpus makes the comparison unfair and collapses the generalization claim into in-distribution performance.\n- A conditioning trick shown on a single task, with no generic procedure for finding its analog on other tasks, reads as narrow and unsurprising however large the per-task gain.\n- Porting an established conditioning technique to a new modality without theory for why its similarity signal captures task-relevant structure, paired with only modest gains, reads as an under-theorized transfer that does not clear the bar.\n- Omitting the obvious cheaper alternative under equal budget — a longer raw context, nearest-neighbor averaging — and comparing only against ablations of your own method leaves the new module's contribution unattributable.\n- A method that works only under idealized access (the exact base model) and degrades sharply at realistic scale or under the dominant parameter-efficient setting fails the generality bar.\n- A many-component conditioning system with shallow ablations, unclear problem formulation, and uncorrected mathematical details cannot justify which module earns the reported improvement.\n\n_(cluster size: 18 papers)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C04.md", "sha256": "e479b0ce12a37ce4c9bc052fa2dd3cc9c7f52b77be4b619253fda8defa0c23fe", "text": "# C04\n_parent: **Decompose for Differentiated Treatment** (`heterogeneous_decomposition`)_\n\n## Tactical pattern\n\nThis cluster compresses an over-provisioned trained artifact — model weights, intermediate activations, the KV/state buffer, the sampling trajectory, or a dataset — by exploiting heterogeneity in its components rather than applying one uniform lossy operation. The concrete move: discriminate components by a magnitude-, sensitivity-, influence-, or redundancy-based criterion into a high-impact minority and a near-redundant bulk, then preserve, migrate, residually correct, or retain-at-full-precision the minority while aggressively quantizing, pruning, factorizing, or distilling the bulk. Sibling variants relocate the difficulty instead of stratifying it (offline scale-migration from activations to weights, norm-preserving outlier redistribution across groups, decoupling storage precision from compute precision) or relocate the unit of compression itself (operator-pair joint factorization, nested subsets, per-stage variance-guided formats, two-teacher-steps-to-one trajectory halving). The load-bearing artifact is an error/sensitivity decomposition that bounds how the differentiated treatment recovers the original objective — that analysis, not the partition idea, is what separates the move from heuristic per-component tuning.\n\n## Step-by-Step\n\n1. Empirically characterize the resource's component distribution along a candidate discriminating property — magnitude, error-sensitivity, influence, or redundancy — and demonstrate that components fall into structurally distinct populations rather than a homogeneous mass. Do not assert the heterogeneity as folklore or import it from prior work; the value/error distribution that drives the partition is itself a load-bearing piece of evidence, and skipping it leaves reviewers unable to judge either novelty or downstream impact.\n2. Define the partition with a criterion tied to the downstream objective that you can defend as distinct from the nearest established discriminator. A proxy any reviewer can immediately recognize as a known technique — roundtrip distortion, raw magnitude, activation covariance, naive double-rounding — will be read as rediscovery unless you show precisely what it captures that the prior criterion does not, and why that difference changes the result.\n3. Assign each partition a treatment matched to its property: protect, migrate, residually correct, or retain at full fidelity the high-impact minority, and apply the aggressive lossy operation only to the redundant bulk. When straightforward stratification still leaves a single component dominating the cost, consider relocating the difficulty onto a benign carrier or shifting the unit of compression to a composite that exposes a shared internal degree of freedom invisible at the component level.\n4. Supply an error or fidelity decomposition that bounds how the differentiated treatment recovers the uncompressed objective, and make this analysis the spine of the contribution. Without it the method collapses into heuristic per-component tuning that cannot argue the differentiated treatment beats a uniform one — and that uniform-vs-differentiated comparison is the first thing reviewers demand before crediting the partition at all.\n5. Validate in the regime where the bottleneck actually bites and against both the strongest uniform baseline and the obvious cheap alternative, reporting the true deployment metric — latency, memory, throughput — rather than a proxy. Toy-scale evidence where the compression problem does not even arise, or proxy-only gains with no measured real-world speedup, will sink an otherwise clean method by leaving its core value proposition unverified.\n\n## Differentiation within parent\n\nSingleton under parent methodology — no sibling clusters exist.\n\n## When to pick this one\n\nPick this instantiation when the resource is a trained, over-provisioned artifact whose components carry wildly unequal functional weight — a tiny outlier or high-influence fraction dominates output quality while the bulk is near-redundant — so any uniform compression collapses at the target ratio and the leverage lies in protecting the few while crushing the many.\n\n## Tactical failure mode\n\nThe recurring failure is treating the partition criterion itself as the contribution while leaving its value unproven. Papers propose a sensitivity or redundancy discriminator — roundtrip distortion, weight magnitude, activation overlap, double-rounding, subspace projection — and reviewers immediately map it onto an established technique (PCA/SVD on activations, a layer-norm-equivalent rescaling, structured dropout, classical feature distillation), so the differentiated treatment reads as a relabeling rather than a new mechanism. Compounding this, the scheme is rarely benchmarked against both the strongest uniform baseline and the obvious cheap alternative, so no one can confirm the partition actually buys anything over what already exists. A second structural shortcut is validating in a regime where the compression bottleneck does not bite — toy-scale models, proxy-only metrics, no measured inference latency or memory gain — which hollows out the motivation regardless of how clean the method looks. The self-check: can you show why the heterogeneity exists (the value/error distribution that forces it), that the tailored treatment strictly beats uniform treatment plus the nearest prior art, and that the win survives on a real deployment metric in the regime that actually matters?\n\n## Examples\n### Oral lessons\n- Preserving the small high-influence fraction at full fidelity while crushing the redundant bulk is what keeps extreme compression near-lossless — uniform treatment fails precisely because that sensitive minority absorbs the largest error.\n- Outlier difficulty can be a static, relocatable quantity: a norm-preserving rearrangement or an offline scale-migration moves the hard-to-compress mass off the dynamic signal onto a benign carrier, so per-group resolution is no longer hostage to a single extreme value.\n- Decoupling storage precision from compute precision — holding parameters compressed but reconstructing to full precision only at the arithmetic boundary — turns 'compression destroys the gradient signal' from a law into an implementation choice.\n- Compression error is structured, not noise: factorizing the residual to seed a correction module aligns the compressed start state with the original and determines which optimization basin later adaptation converges to.\n- Shifting the unit of compression to a composite — operator pairs, nested subsets, per-stage formats — exposes a shared internal degree of freedom invisible at the single-component level and removes the need for dimension-reconciliation patches.\n- A trained system's intermediate representations are a component-agnostic supervision target, so a structurally different replacement can be regressed to locally mimic them and sidestep the cold-start cost of training from scratch.\n\n### Reject lessons\n- Presenting a sensitivity or redundancy proxy as the novelty invites the verdict that it rediscovers known mixed-precision or low-rank results unless it is sharply differentiated from the obvious prior criterion.\n- Omitting comparison against both the strongest uniform baseline and the obvious cheap alternative (SVD/PCA, structured dropout, a natively trained smaller model) leaves reviewers unable to tell whether the partition buys anything at all.\n- Validating a storage or throughput claim only on toy-scale models — where the compression bottleneck does not actually bite — undermines the entire motivation no matter how clean the method is.\n- A clever partition with no measured real-world deployment metric (no inference latency or memory speedup) reads as a proxy-only contribution and stalls at borderline.\n- Skipping any analysis of why the heterogeneity exists — the data or value distribution that drives the partition — makes the technical novelty and the potential impact impossible to assess.\n- Bolting together established components (distillation plus pruning plus calibration) without an error bound or artifact specific to the new setting reads as incremental even when the target application is timely and important.\n\n_(cluster size: 47 papers)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C05.md", "sha256": "e6c07526be463b48ef858270dba3de30170ecb3fcde37ad66d4dc635e0f34d48", "text": "# C05\n_parent: **Audit and Pivot an Assumption** (`assumption_audit_and_pivot`)_\n\n## Tactical pattern\n\nThe shared move is to take an existing identifiability or recovery theorem for hidden structure and pivot on the assumption it requires for that structure to be uniquely recoverable. The dominant swap is trading a distributional assumption — statistical independence of latent factors, a specific parametric/Gaussian or linear mixing map, or access to labels and controlled perturbations — for a structural, architectural, or geometric one: additive or block-separable decoders, an exclusive-assignment support pattern in the generator's Jacobian, feasible-region or inverse-curvature signatures that survive arbitrary smooth mixing, or sparsity imposed on temporal increments and inter-factor influence across ordered windows. A second variant relaxes an all-or-nothing structural regularity to partial/local compliance, or lifts a recovery rule from IID to exchangeable/non-IID data by substituting the correct latent-variable decomposition for the independence factorization. In every case the payoff is a re-proven recovery of the hidden factors, causal graph, or model parameters up to the field's standard ambiguity class (permutation, sign-flip, component-wise invertible reparameterization, or linear transform), then operationalized as a regularizer or estimator.\n\n## Step-by-Step\n\n1. Pin down the single assumption the existing recovery or identifiability result rests on — statistical independence of the hidden factors, a linear or specific parametric mixing/observation map, access to labels or controlled perturbations, IID sampling, or an all-or-nothing structural regularity every component must satisfy. State it so precisely that the prior proof demonstrably collapses without it. If you cannot show the proof breaks when the assumption is removed, the assumption is not load-bearing and the pivot will read as cosmetic.\n2. Identify a substitute condition of a DIFFERENT kind that carries the same identifying power but that your setting plausibly satisfies. The highest-yield swaps trade a distributional assumption for a structural, architectural, or geometric one — additive or block separability of the decoder, an exclusive-assignment support pattern, a feasible-region or curvature signature that survives nonlinear transformation, sparsity over temporal increments — or trade global compliance for local/partial compliance. Avoid merely bolting one framework onto another while keeping both original assumptions; a union of two methods rarely earns a new guarantee.\n3. Re-derive recovery up to the field's accepted ambiguity class — permutation, sign-flip, component-wise invertible reparameterization, or linear transform — and prove your substitute condition ALONE is sufficient, not merely correlated with recovery. Name the equivalence class explicitly and exhibit it; a guarantee that cannot state what it recovers things up to is not yet a guarantee, and asserting 'consistency' or 'identifiability' the proof never establishes collapses the contribution under review.\n4. Confirm the pivot opens a genuinely new regime rather than relabeling the old one: exhibit a concrete setting your relaxed condition admits and the prior assumption excluded, and verify the new condition is checkable or enforceable in practice. If the relaxed condition is as hard to verify as the original was to satisfy, or if it silently smuggles the old assumption back in, the contribution will not survive scrutiny.\n5. Operationalize the theorem as a regularizer, estimator, or algorithm that actually enforces the condition the proof requires, and demonstrate recovery empirically precisely where the original assumption fails. Close the theory-practice gap — an identifiability condition the algorithm neither enforces nor verifies undermines both soundness and significance — and show the ambiguity class being resolved on data the prior method could not handle.\n\n## Differentiation within parent\n\nThis cluster's pivot targets an IDENTIFIABILITY assumption and re-proves recovery of hidden latent, causal, or generative structure up to an ambiguity class — the deliverable is a recovery theorem with a named equivalence class. Sibling cluster 1 also lives in representation learning but its tactic is architectural mechanism design (instantiating a structural prior as a dual-branch distributional-divergence module); it adds a mechanism, not a proof that the latent structure is recoverable. Sibling cluster 29 likewise 'establishes a new property,' yet its object is a projection operator's descent-implies-distance property in constrained optimization, yielding stability classifications of stationary points — a guarantee about optimization iterates, not about recovering ground-truth latent factors. Clusters 11 and 19 also pivot assumptions, but to tighten privacy-composition and distribution-free generalization bounds respectively, again not to identify hidden structure. The signature of cluster 5 versus all of these is the phrase 'recoverable up to permutation/sign/linear transform' as the proof's terminal claim.\n\n## When to pick this one\n\nPick this when your goal is to recover hidden/latent/causal/generative structure and the bottleneck is an existing identifiability result whose precondition fails in your setting. The decisive signal is that a different KIND of constraint already present in your data or architecture (a structural separability, a geometric signature, sparsity, sequential context) plausibly carries the identifying information the prior distributional or parametric assumption was supplying.\n\n## Tactical failure mode\n\nThe signature failure is an identifiability claim that outruns its proof. Papers fail when the pivoted assumption was not actually load-bearing — the new setting is a straightforward union of two existing frameworks (a separation method plus a constrained or multi-view wrapper), so re-proving recovery for the union reads as incremental rather than as opening a new regime. A second shape is asserting recovery or 'consistency' while the decisive object is never established: latent identifiability left unproven, part of the model excluded from the guarantee, or a non-convex objective claimed solved without strong duality. A third is imposing structural constraints to motivate interpretability or disentanglement without proving they are SUFFICIENT for recovery, leaving the result indistinguishable from a post-hoc heuristic — sometimes compounded by formal errors in the conditional-independence bookkeeping that void the central theorem even when experiments look reasonable. Self-check: can you exhibit the exact equivalence class you recover, prove your substitute condition alone suffices (not merely that the prior method also worked), and show your algorithm enforces the very condition your theorem requires? If any of these is missing, the pivot has not yet been earned.\n\n## Examples\n### Oral lessons\n- A purely architectural constraint on the generative mapping — additive or block separability of the decoder — can fully substitute for distributional independence of the latents, shifting the identification burden from the prior to the geometry of the function.\n- Geometric signatures such as feasible-region independence or low-rank inverse-curvature structure survive arbitrary smooth nonlinear mixing where algebraic or parametric structure does not, unlocking identifiability without any linearity assumption.\n- Relaxing an all-or-nothing structural condition to 'partial compliance recovers the compliant subset' converts a brittle universal guarantee into a usable one without weakening what it claims about the components that do comply.\n- Sparsity over temporal increments or over an inter-factor influence structure across ordered windows can replace auxiliary labels and controlled perturbations as the symmetry-breaking signal, yielding identifiability from purely observational data.\n- Showing that a standard supervised or discriminative objective implicitly instantiates the conditioning structure of an identifiability theory imports recovery guarantees into settings believed to lie outside that theory's reach.\n- Extending a recovery rule from IID to exchangeable/non-IID data by swapping the independence factorization for the correct latent-variable decomposition restores tractable identification conditions where the standard rule silently fails.\n\n### Reject lessons\n- Stacking two established frameworks and re-proving identifiability of the union reads as incremental unless the pivoted assumption was genuinely load-bearing and the union admits a regime neither framework could reach alone.\n- Advertising an identifiability or 'consistency' property while the proof omits the decisive object — never proving latent identifiability, or excluding part of the model from the guarantee — collapses the contribution the moment a reviewer checks the theorem.\n- Imposing structural constraints to claim interpretability or disentanglement without proving those constraints are sufficient for recovery leaves the result indistinguishable from a post-hoc heuristic.\n- Proving identifiability conditions the algorithm neither enforces nor verifies creates a theory-practice disconnect that undermines both the soundness and the significance of the claim.\n- Errors in the dependency or conditional-independence bookkeeping (mislabeling an independence, opening a collider) void the central theorem even when the empirical numbers look reasonable.\n\n_(cluster size: 50 papers)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C06.md", "sha256": "d1570fddded634848788b33c6a731dbce440d0450e6f3c550f0f517d87a7bba8", "text": "# C06\n_parent: **Prove Equivalence to Unify** (`algebraic_equivalence_unification`)_\n\n## Tactical pattern\n\nThis cluster operates specifically on probabilistic training objectives — divergences, likelihoods, surrogate losses, variational bounds, and distributional supervision signals — rather than on generic procedures. The signature move is to take an objective currently treated as a fixed default, an unexplained heuristic, or a quantity estimated across multiple stages, prove it is algebraically a special case of (or exactly equal to) a broader parametric divergence family or a principled probabilistic quantity — an ELBO, a log-density gradient, a log-partition function, a decision-theoretic uncertainty functional — and then cash that identity three recurring ways: collapse a multi-stage estimation pipeline into a single loss by showing the intermediate quantity is encoded in the final objective, substitute a better-conditioned member of the now-visible family, or solve in closed form for the optimal member. The objects are concrete — KL versus total-variation versus Rényi versus α-β divergence, reverse-process variance, reward-model logits read as a function of the policy ratio, sample-similarity versus feature-correlation matrices under double normalization — and the verbs are reparameterize, re-anchor, integrate-over-scale, and transpose. The unification is always made load-bearing: the equivalence eliminates a learned module, removes a numerical instability, or yields a provable rate, never merely relabeling.\n\n## Step-by-Step\n\n1. Take an objective the field treats as the single 'natural' choice, an unexplained heuristic, or a multi-stage estimation pipeline, and pin down the implicit distributional quantity it acts on — the divergence being minimized, the likelihood or bound being maximized, the supervision signal being matched. Name the tacit assumption that froze it in that form: that one divergence is canonical, that the intermediate quantity must be learned separately, or that hard/one-hot targets are necessary.\n2. Prove an exact algebraic identity that places the objective inside a larger structure — show it is one member of a parametric divergence family, or that it equals a principled probabilistic quantity under a precisely stated constraint (a normalization condition, a residual distribution, a monotone weighting). Keep the identity tight and load-bearing: if the connection is only a loose analogy, or a reinterpretation that merely adds a free parameter without changing what is computed, the move degrades into a hyperparameter study.\n3. Cash the identity for concrete leverage instead of relabeling. Collapse the pipeline by showing the intermediate quantity is algebraically encoded in the final objective; or swap in the family member that fixes a NAMED pathology of the original (mass leakage, gradient asymmetry, instability at a regularization limit); or derive the optimal member in closed form. The exploit must change what is computed — remove a learned component, eliminate an instability, or unlock a rate.\n4. Make the equivalence's preconditions auditable. State the normalization constraints, regularity conditions, or distributional assumptions the identity requires, and check them empirically rather than asserting them. Equivalence claims that rest on a precondition which may not hold for actually-trained models, or on a vague 'sufficient sample size,' leave the identity hollow precisely where it is invoked.\n5. Position the result so it both legitimizes and surpasses the status quo: demonstrate that known methods reappear as special cases (this makes the unification credible) and instantiate at least one genuinely new member that beats them on their own metric while delivering the structural benefit. If special cases only recover prior work with marginal gains and no new member earns its keep, the contribution reads as incremental and the unification appears decorative.\n\n## Differentiation within parent\n\nSingleton under parent methodology — no sibling clusters exist.\n\n## When to pick this one\n\nPick this instantiation when the distinct procedures you suspect coincide are themselves probabilistic objectives — divergences, likelihoods, surrogate losses, or distributional supervision signals — and the payoff is collapsing an estimation pipeline, substituting a better-conditioned divergence, or solving analytically for the optimal family member. If the objects are architectural modules, combinatorial algorithms, or non-probabilistic procedures, the equivalence belongs to a different region of the parent.\n\n## Tactical failure mode\n\nThe recurring failure is the cosmetic generalization: the paper embeds an existing objective in a one-parameter divergence family (or relabels an existing method as a special case of its framework) but never shows the new degree of freedom repairs a concrete, named failure of the original. The wrong assumption is that more generality is itself a contribution, so the work cannot point to a specific pathology of the baseline objective that its member provably and uniquely fixes, and the added scalar reads as one more hyperparameter to tune. A second shape is the unverified equivalence — an unbiasedness, optimality, or contraction claim resting on a precondition (a normalization, a residual distribution, optimality of a trained model, a 'sufficient' upstream sample size) that is asserted rather than checked, leaving the identity empty exactly where it is needed. Such papers typically show only marginal gains over the method they generalize, omit the direct baseline comparison that would isolate the family's benefit, or overlap with a previously published loss. A candidate author should self-check: does my equivalence eliminate a module, kill an instability, or earn a rate — and does a genuinely new member beat the old one on its own metric?\n\n## Examples\n### Oral lessons\n- Reinterpreting a model's pre-normalization scalar outputs as unnormalized log-densities lets you re-derive an existing signal as a generative quantity, unlocking a hypothesis that could not even be stated before the identity.\n- Proving that an optimal per-stage parameter has a closed form in terms of an already-learned signal eliminates a whole learned or hand-tuned component and works training-free on any pretrained model.\n- Showing two rival objective families are the same matrix-norm penalty viewed along transposed axes dissolves an apparent design schism and lets each family inherit the other's beneficial properties.\n- A change of variables expressing a latent intermediate quantity as a function of the final-to-reference solution ratio makes the intermediate estimation stage algebraically redundant, collapsing a multi-stage pipeline into a single classification loss.\n- Recasting a family of empirically-tuned losses as a monotonically-weighted integral of a principled lower bound converts heuristic criterion selection into a principled design space — choosing an augmentation distribution instead of departing from theory.\n- Importing a closed-form optimality result from a neighboring field (extreme-value statistics, statistical mechanics, decision theory) can supply the exact analytic mechanism a long-standing instability has been missing.\n\n### Reject lessons\n- Generalizing a method to a one-parameter divergence family without demonstrating that the new freedom fixes the method's actual named shortcoming reads as an empirical hyperparameter study, not a contribution.\n- Swapping a standard divergence for a fancier one to 'reduce bias' fails when you cannot establish a concrete failure mode of the original that the replacement provably and uniquely repairs.\n- Reinterpreting an existing loss as a special case of your framework while delivering only marginal gains over that loss leaves reviewers unable to isolate what the framework actually buys.\n- A theoretically-motivated bias correction that does not translate into empirical gains over strong (even if biased) baselines, and rests on an unverifiable sufficiency condition, is judged incremental on both the theoretical and the practical axis.\n- Soft-target or divergence reformulations that overlap with a prior published loss and show only marginal improvement on already-strong models suggest the targeted problem was implicitly solved, leaving no isolable contribution.\n\n_(cluster size: 59 papers)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C07.md", "sha256": "1cf23b65fbee15bbbffcda7f4af3542f60cc167134efce2e203cd0fc4aede69f", "text": "# C07\n_parent: **Manufacture the Supervisory Signal** (`self_supervised_signal_engineering`)_\n\n## Tactical pattern\n\nTake an already-trained model facing unlabeled distribution shift, continual updates, or fine-tuning instability, and treat its own internal-state readouts — output entropy, per-batch normalization statistics, gradient direction and magnitude, representation centroid/spread, activation-distribution breadth — as the manufactured supervisory signal. The signature move pairs a mechanistic diagnosis that localizes the failure to a specific structural site (a stateful normalization operator corrupting representations pre-gradient, a gradient-dominance shift between informative and redundant example subpopulations, a drifting representation moment, a collapsing activation distribution) with a surgically confined correction: minimize an entropy/uncertainty or statistic-alignment objective over a minimal lever (normalization affine coefficients, the output head, a low-dimensional conditioning input, a single regularizer or instance reweighting) while the backbone stays frozen. Because a label-free internal signal invites a degenerate solution, the tactic always bolts on an explicit stabilizer — sharpness/flatness penalty, high-gradient-sample filtering, source-distribution prior anchoring, or a two-time-scale update. The distinctive verbs are diagnose-localize, minimize-on-a-tiny-lever, and stabilize-against-collapse — not generate-pseudo-labels-and-filter.\n\n## Step-by-Step\n\n1. Resist patching the loss function first; instead trace the dynamics failure to its actual structural origin. Determine whether the pathology lives in the forward computation (a stateful operator or stale running statistic that corrupts representations before any gradient is taken), in the gradient (a dominance shift between informative and redundant example subpopulations), or in the representation (a drifting distributional moment or a collapsing activation distribution). Skipping this localization and instead applying a generic symptom-level fix is the most common way to produce an incremental contribution indistinguishable from prior work.\n2. Choose an internal, label-free readout that exposes the localized failure as a measurable scalar or distribution — output entropy, gradient magnitude or direction alignment, a representation moment shift, an activation-breadth metric. Critically, verify the surrogate stays valid under the actual deployment assumptions: if it only holds under model calibration, a stationary shift, a known finite set of shift types, or covert access to target labels, it will break exactly when deployment conditions diverge from those premises.\n3. Confine the correction to the smallest lever that can still move the target quantity — a parameter subset (normalization affine coefficients, the output head), a low-dimensional conditioning input, a single regularizer term, or an instance reweighting — and keep the backbone frozen. This simultaneously makes label-free or gradient-free optimization tractable and prevents the manufactured signal from overwriting the learned structure you are trying to preserve, which full unrestricted updates routinely destroy.\n4. Anticipate that an unsupervised internal signal, left alone, drives the model toward a degenerate solution (all inputs collapsing to one output mode, runaway error accumulation across a sequential stream). Add an explicit stabilizer matched to the collapse mode — a sharpness/flatness penalty, filtering out high-gradient unreliable instances, anchoring to the source-distribution prior as a persistent mixture component, or a two-time-scale update that keeps the critic ahead of the learner.\n5. Demonstrate that the internal signal genuinely tracks the target quantity rather than coincidentally correlating with it — through a causal intervention (re-engage, re-weight, or ablate the identified site and observe the predicted effect), a theoretical bound, or stress tests across compound and non-stationary shifts. Then beat both the simplest pre-existing surrogate and the obvious baseline on more than a single dataset family, so reviewers attribute the gain to your new mechanism and not to the prior art your construction resembles.\n\n## Differentiation within parent\n\nThis cluster is distinct from sibling cluster 8, whose tactic runs a closed-loop producer–evaluator that generates outputs, assigns provisional pseudo-labels, filters them by an adaptive cutoff, and retrains both components each round: there the manufactured signal is a discrete pseudo-label feeding an iterative retraining loop. Cluster 7 instead minimizes a continuous internal-state objective (entropy, statistic alignment) on a frozen backbone with a surgically tiny lever, and frequently the 'signal' is a diagnostic of learning dynamics rather than a label at all — no generate-filter-retrain cycle. It is equally distinct from sibling cluster 26, which embeds preference/quality signals into the initial pretraining objective; cluster 7 acts post-hoc, at inference or during continual updates on an already-trained model whose representations it is trying to preserve rather than shape from scratch.\n\n## When to pick this one\n\nPick this cluster when the model is already trained and you face unlabeled distribution shift, continual updates, or fine-tuning instability with no source data, and you can identify an internal-state readout that both localizes the failure and doubles as the optimization signal. Choose a sibling instead if you can afford an iterative retrain-and-filter loop or you control the pretraining objective itself.\n\n## Tactical failure mode\n\nThe recurring failure shape is a manufactured internal signal whose validity silently rests on an assumption that does not survive deployment — model calibration on networks known to be miscalibrated, a stationary or known-finite set of shift types, or covert use of target/test-set information that amounts to label leakage — so the surrogate degrades precisely when the deployment premise is violated. A second, often co-occurring shape is recombining well-known components (sequential Bayesian posterior chaining, EMA parameter blending, multi-head/ensemble reweighting, gradient-norm-as-proxy) without a single load-bearing mechanistic insight that separates the work from the prior art it resembles, leaving reviewers to attribute any gain to that prior art. These are compounded by thin validation — one dataset family, one architecture class, or missing recent-SOTA comparisons — that never stress-tests whether the internal signal generalizes. A candidate should self-check two things: does my internal signal remain valid when its weakest assumption is violated, and is there one mechanism here that no existing surrogate already provides? If either answer is shaky, the contribution reads as incremental and assumption-fragile.\n\n## Examples\n### Oral lessons\n- Before patching the objective, ask whether the instability actually originates upstream in the forward computation — a stateful aggregation operator or a stale statistic can corrupt representations before any gradient is taken, so fixing the loss leaves the real failure intact.\n- A label-free quantity others discard as noise — the shifting output-class marginal, ensemble diversity measured in representation rather than output space — is frequently a trackable, exploitable supervisory signal.\n- Confining a label-free or gradient-free update to a tiny lever (a low-dimensional conditioning input, normalization affine parameters, the output head) turns an intractable, structure-destroying adaptation into a feasible, representation-preserving one.\n- Decomposing an entangled degradation into separable components — distributional moments, domain-deviation versus optimizer-schedule, signal-dependent versus signal-redundant gradients — makes each component independently correctable and the fix analytically derivable.\n- Repurposing a measurement-only diagnostic as an active control signal inside the update rule converts post-hoc analysis into a working intervention.\n- Re-diagnosing the mechanism of a degradation (forgetting as activation-selection bias rather than stored-information overwriting) licenses a sharper intervention lever than the field's default remedy and is itself the contribution.\n\n### Reject lessons\n- A label-free signal whose validity depends on model calibration silently fails on exactly the deep networks known to be poorly calibrated — validate a surrogate where its core assumption is weakest, not where it is convenient.\n- Recasting a continuous shift as a discrete, known, finite set of types indexed against a precomputed lookup table collapses the moment an unanticipated or mixed shift arrives.\n- Importing a generic continual-learning blending or interpolation technique into a new modality without identifying that modality's specific dynamics lever reads as recombination, not contribution.\n- Reusing standard sequential machinery (chaining each step's posterior as the next prior) without a new stabilizer amplifies noise and looks derivative of prior adaptation work.\n- A multi-branch or ensemble reweighting mechanism that overlaps with standard multi-task/mixture-of-experts ensembling must explicitly beat both the single-model and the standard-ensemble baselines, or the gain is credited to prior art.\n- Using target or test-set information during adaptation invites a label-leakage objection that undermines the very source-free, label-free deployment setting the method claims.\n\n_(cluster size: 22 papers)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C08.md", "sha256": "dd9b19e9af3315d69cd3435f2033c87d1d6ca44126603db2595ece8952f0e16b", "text": "# C08\n_parent: **Manufacture the Supervisory Signal** (`self_supervised_signal_engineering`)_\n\n## Tactical pattern\n\nThe shared move is to stand up a controllable generative procedure — a diffusion model, an inverse (artifact→specification) mapper, or an instruction-following generator — and drive it to synthesize candidate training instances that lie beyond the original corpus's support, then route every candidate through a single quality gate before any are used for training. The gate is concrete and varies: a learned quality classifier, the model self-scoring its own outputs, a confidence/uncertainty or per-instance loss threshold, or neighborhood-consistency in a pre-computed feature space. Retained instances are folded back into the training set, and the procedure is usually iterated so each improved model curates a cleaner batch for the next round. The most advanced variants close the loop dynamically — feeding the learner's per-category uncertainty, prediction error, or importance score back to the generator so it concentrates new samples on exactly the regions the current model fails on, making the filter implicit in generation rather than a separate post-hoc stage. The verbs are generate, steer, score, filter, and retrain; the object being manufactured is the training distribution itself.\n\n## Step-by-Step\n\n1. Establish that the binding constraint is the training corpus rather than the learner — coverage holes, label noise, distributional mismatch, or annotation scarcity. State precisely which data defect blocks performance, and rule out that a cheaper non-generative remedy (simple augmentation, reweighting, a small fine-tune) already closes it; skipping this check is what later makes the generative pipeline read as gratuitous complexity.\n2. Build or adapt a controllable generator that can reach the under-covered region, not merely resample what already exists. Use a steering handle that is native to the generator — objective-gradient guidance, conditioning vectors, an inverse mapping over naturally occurring artifacts, or importance/uncertainty conditioning — and demonstrate the outputs genuinely extend the support rather than recycling the model's own distributional biases.\n3. Define one load-bearing filter that separates usable synthetic instances from noise, and make that criterion the conceptual crux of the contribution. Argue why this specific signal — outcome reachability, distributional faithfulness, neighborhood consistency, self-scored quality, not surface appearance or raw accuracy — is the correct separator. A pipeline whose filter is loosely motivated or interchangeable with any threshold reads as a solution searching for a problem.\n4. Retrain on the filtered synthetic set and, where possible, iterate so each improved model curates the next batch. For the strongest form, route the learner's uncertainty, error, or importance back into the generator so synthesis concentrates on current failure regions and filtering becomes implicit — this avoids the wasted compute and redundant samples of a static synthesize-then-filter pass.\n5. Close the gap that the manufactured distribution is meant to bridge, explicitly. Show that training on synthetic/filtered data transfers to the real evaluation target (synthetic-to-real, train-eval, or proxy-domain transfer), and benchmark against cheaper alternatives. Demonstrating only an intermediate proxy property (more diversity, a higher correlation) without the downstream target metric, or omitting the transfer evidence, leaves the central premise unvalidated.\n\n## Differentiation within parent\n\nThis cluster is the arm of the parent methodology that manufactures the supervisory signal as new training INSTANCES — it generates data and filters it. Sibling cluster 7 manufactures stability instead of data: it diagnoses and fixes the adaptation process (biased optimizer estimates, poor upper-layer initialization, premature convergence) in low-data regimes, operating on how the model is trained rather than on what it is trained with. Sibling cluster 26 manufactures an objective-level signal: it embeds preference/quality supervision directly into the pretraining loss function, comparing candidate objectives, rather than synthesizing fresh examples. Only cluster 8 treats a generative procedure as a data factory whose outputs are gated by a quality filter and recycled into the corpus; the distinguishing artifacts here are a controllable generator plus an explicit selection criterion, neither of which appears in 7 (process tuning) or 26 (objective design).\n\n## When to pick this one\n\nPick this when the diagnosed gap is corpus coverage or label quality — scarce, noisy, biased, or distribution-mismatched data — AND you can build a generator that reaches the missing region together with a filter that keeps only good samples. Choose cluster 7 instead if the problem is training-process instability, or cluster 26 if the signal belongs in the objective rather than in new instances.\n\n## Tactical failure mode\n\nWith a healthy Reject sample (n=11), the recurring failure is treating \"attach a generator plus a filter\" as a sufficient contribution when the generate-and-filter pattern is already commonplace, so no single load-bearing insight separates the work from prior cooperative-training, augmentation, or self-distillation pipelines — reviewers read it as recombination and rate novelty low. A second shape is the unvalidated transfer assumption: the corpus is built or repaired with synthetic instances but the paper never demonstrates that the manufactured distribution generalizes to the real target distribution, leaving the central premise (synthetic coverage substitutes for real coverage) unproven. A third is demonstrating only a proxy property — more diversity, a metric correlation, induced disagreement — while never showing the actual downstream objective (shortcut mitigation, task accuracy on real data) is achieved. The fourth is omitting comparison against cheaper non-generative baselines, so the added pipeline complexity and compute cost cannot be justified, and the gains often turn out marginal or occasionally negative. A candidate can self-check by asking: is my filter criterion the precise crux, do I show real-target transfer, and have I proven the generative machinery beats a simpler signal source?\n\n## Examples\n### Oral lessons\n- A controllable generator becomes its own data-augmentation engine when steered by an objective-gradient signal toward high-quality regions outside the corpus boundary, rather than being used only to synthesize in-distribution samples.\n- The load-bearing stability criterion for a self-training loop is not prediction accuracy but whether the procedure's outputs are distributionally indistinguishable from draws of its training input — reframe the problem around distributional fidelity to bound runaway feedback.\n- Reframing a learning problem as a pre-training data-quality problem lets a cheap, training-free neighborhood-consistency filter clean the corpus orthogonally to every downstream learner.\n- A single weak seed model can serve two roles at once — generate paired examples by inverse mapping and then self-score and filter them — so high-quality supervision emerges from scale without external annotation.\n- Treating experience reuse as a synthesis problem rather than a retrieval one lets a generative model decouple how often an example is trained on from how often it was observed, densifying rare but important regions.\n- Folding the learner's per-category uncertainty back into the generator makes filtering implicit in generation, concentrating new samples on current failure cases and recovering a steeper data-scaling exponent.\n\n### Reject lessons\n- A cooperative generate-and-filter loop sitting on substantial prior art needs either a demonstrably new mechanism or cross-domain breadth; showing it on a single domain invites the read that the method is domain-specific and incremental.\n- A newly proposed quality or gating score must be tightly argued to solve the stated problem under realistic conditions — a loosely-motivated score evaluated in an artificial setup is dismissed as a solution looking for a problem.\n- Training on synthetically generated data without demonstrating transfer to the real target distribution leaves the core premise unvalidated, no matter how clean the synthetic labels are.\n- A curation or replacement pipeline that yields only marginal or occasionally negative gains over no curation cannot justify its added complexity.\n- Inducing a proxy property such as ensemble diversity is not the same as demonstrating the downstream goal such as shortcut mitigation; reviewers require the target metric, not the intermediate effect.\n- A synthetic-data-factory claim collapses without comparison to cheaper classical baselines, because the necessity of the heavy generative model is then unverifiable.\n\n_(cluster size: 25 papers)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C09.md", "sha256": "e178b7925e08f94311f28639a88030f84ece1468b7080707472afe432ff4126e", "text": "# C09\n_parent: **Substitute the Operator or Representation** (`architectural_operator_substitution`)_\n\n## Tactical pattern\n\nInsert a low-sensitivity intermediate object — a linear sketch, a partitioned binary accumulator, a hierarchically-separated tree, a matrix decomposition, a low-rank projection, or a calibrated input-space transform — between the sensitive raw input and the downstream procedure, then attach the privacy/perturbation (or third-party verification) mechanism to that intermediate rather than to the raw input or the final output. The load-bearing artifact is a per-element influence/sensitivity bound on the intermediate: each record toggles a single bit, modifies only a bounded subset of components, degrades the privacy parameter by just √m, or contributes only a gap-normalized residual. That bound proves the noise (or verification) budget no longer scales with the ambient quantity — output dimension, procedure runtime, or solution-set cardinality — that made the naive mechanism intractable. Utility is then shown to match the best unconstrained/non-private baseline for the same task, frequently paired with a matching lower bound that upgrades \"cheaper mechanism\" to \"provably optimal mechanism.\"\n\n## Step-by-Step\n\n1. Locate the layer where the costly mechanism currently attaches. The noise injection, perturbation, or verification is typically bolted onto the raw input or the final structured output, and its cost scales with an ambient quantity — dimensionality, runtime, or number of feasible solutions. Recognize this scaling as an artifact of where the mechanism sits, not an intrinsic property of the problem.\n2. Find or construct an intermediate representation with provably bounded per-element influence. Look for a compact object the computation already routes through — a sketch, summary, partition, decomposition, or projection — such that any single input element touches only a small, fixed portion of it. The whole tactic lives or dies on this object existing and its influence being literally bounded (one bit, a fixed-size subset, a √m factor), not merely 'small in practice'.\n3. Relocate the mechanism onto the intermediate and prove the influence bound as a new structural fact. The bound must be something a re-analysis of the incumbent method would not already yield — a fixed input-independent decomposition, a local leave-one-group-out privacy lemma, a recursive residual-tightening loop. Do not stop at composing two off-the-shelf primitives; a moment-reformulation stacked on a random projection, with no fresh sensitivity insight, reads as 'not a contribution in itself'.\n4. Transfer the essential property end-to-end and quantify the gap over the substituted-out approach. Prove the privacy/verification guarantee carries from the intermediate back to the original problem AND that utility matches the strongest unconstrained baseline, ideally with a matching lower bound. A gain that is marginal, or holds only in a narrow regime where existing analyses might match it, will be judged a non-improvement.\n5. Instantiate on concrete tasks with airtight internal consistency and a thorough prior-art comparison. Make the claimed bounds in the abstract identical to the proven bounds in the theorems, state every assumption the correctness rests on, and benchmark against the best existing method rather than a strawman. Shaky assumptions, an unverified correctness appeal, or a missing comparison sink the result regardless of how elegant the relocation is.\n\n## Differentiation within parent\n\nAll four clusters substitute a representation, but what the substitution is chosen to preserve differs sharply. Here the surrogate is selected for its bounded per-element influence, and the essential property preserved is a formal privacy/confidentiality/adaptive-correctness guarantee while utility is held at the non-private baseline — the noise or verification mechanism is physically relocated onto the low-sensitivity intermediate. Sibling cluster 14 substitutes representation to preserve and expand the expressivity of pairwise interactions (splitting a unit into content and position vectors and re-deriving the interaction score), where sensitivity to individual records is irrelevant. Sibling cluster 30 reparameterizes a non-convex factored formulation to preserve the optimum while reshaping the optimization landscape, a move aimed at trainability rather than disclosure cost. The distinguishing signature of cluster 9 is that the surrogate's selling point is a provable cap on how much one input element can move it, and the payoff is a privacy-utility (or verification-cost) frontier, not an expressivity or optimization-landscape gain.\n\n## When to pick this one\n\nPick this when the bottleneck is a per-element sensitivity, disclosure, or verification cost that scales with ambient dimension, runtime, or solution-set size, and there is (or can be built) a compact object the computation routes through whose per-element influence is provably bounded. The tell is a formal privacy/confidentiality/adaptive-adversary constraint where the cost is an artifact of attaching the mechanism to the raw input or final output rather than to that intermediate.\n\n## Tactical failure mode\n\nThe recurring failure is that the substitution is performed but the gap over the substituted-out baseline is never convincingly established. One shape is the mechanical composition: the intermediate is just two pre-existing primitives stacked together (a moment reformulation feeding a random projection), yielding no new sensitivity bound, so reviewers see 'an obvious idea' and 'not enough of a contribution in itself.' A second shape is the marginal or regime-bound gain: the relocated mechanism improves the approximation ratio or additive error only slightly, or only in a narrow corner (small diameter), where it is unclear whether re-analyzing the incumbent method would match it. A third shape is the unsound or sloppy proof: the privacy/correctness argument leans on an assumption that may not hold (congeniality) or an under-justified theorem appeal, or the paper states one bound in the abstract and proves a weaker one, with no thorough comparison to a heavily-studied prior literature. To self-check: can you exhibit an influence/sensitivity bound that is genuinely new — one no re-analysis of the existing approach would produce — and is the resulting privacy-utility gap quantified, internally consistent, assumption-clean, and benchmarked against the strongest prior art?\n\n## Examples\n### Oral lessons\n- The highest-yield move is relocating the noise or perturbation from the raw input or final output onto an intermediate representation whose per-element influence is provably bounded.\n- A less space-efficient structure can be strictly superior for privacy: compression that shrinks memory often raises per-element influence and thereby worsens the privacy-accuracy tradeoff.\n- When efficient non-private algorithms already route through compact, sparse, bounded-range intermediates, privatize those intermediates directly instead of designing new approximation algorithms from scratch.\n- Encoding the entire indistinguishability budget into a calibrated pre-processing transform of the input lets an unmodified black-box solver inherit the guarantee at zero runtime overhead.\n- Decoupling the property to be certified (the constraint) from the quality metric (the objective) lets an external party attest only the constraint, collapsing verification cost from linear to sublinear.\n- Pairing a sensitivity-reduced upper bound with a matching lower bound converts 'a cheaper mechanism' into 'a provably optimal mechanism,' which is what elevates the contribution.\n\n### Reject lessons\n- A substitution that is merely two known primitives composed, carrying no new sensitivity bound, reads as 'not enough of a contribution in and of itself.'\n- An improvement that holds only in a narrow regime and might be matched by re-analyzing existing methods will be judged a non-improvement, not a contribution.\n- Porting an aggregation rule across settings collapses when its correctness rests on an assumption that may not hold and the key theorem appeal is not rigorously nailed down.\n- An internal inconsistency between the bound claimed in the abstract and the bound actually proven, plus a missing thorough prior-art comparison, sinks the work regardless of the idea's merit.\n\n_(cluster size: 21 papers)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C10.md", "sha256": "8724aaff35a9704544a9be7625e6a05d58c606335f3a65e99a825d3bbce8366a", "text": "# C10\n_parent: **Characterize a Limit, Then Surpass It** (`characterize_limit_then_surpass`)_\n\n## Tactical pattern\n\nTake an iterative, locally-scoped procedure over a relational or combinatorial structure — neighborhood message-passing, higher-order message passing on complexes, persistence filtration, or per-pivot/per-anchor enumeration — and pinpoint the one structural object it discards for tractability: the overlap pattern among co-occurring neighbors, global geodesic/resistance distance, discrete curvature on edges, bounded-length paths between co-adjacent nodes, a substructure vocabulary, or a color/connectivity-separating set. Formalize the equivalence class this discarding induces as a WL-style separation (or indistinguishability) criterion stated on the procedure's native objects rather than on proxy encodings, then prove the established class conflates objects that differ only in the discarded property. Re-inject that exact object into the procedure's core step — the aggregation kernel, the refinement update, or the enumeration granularity — and prove the augmented operator strictly exceeds the criterion (or, stronger, is incomparable to the canonical hierarchy). The load-bearing constraint is bounding the added cost to linear, quadratic, or polynomial-delay, so the expressivity/efficiency gain avoids the superquadratic lift to higher-order joint representations that the field tacitly treats as the only route upward.\n\n## Step-by-Step\n\n1. Locate the tractability shortcut in an established iterative/local procedure and name the exact structural object it throws away — the unordered-multiset abstraction of local context, the absence of global pairwise distance, flat symmetric aggregation, or per-pivot recomputation. Boundary: this object must be something the procedure provably cannot recover, not merely something it handles suboptimally; a gap that is trivially implied by the model's own assumptions is too weak to count as a blindspot.\n2. Formalize the blindspot as a precise separation or indistinguishability criterion on the procedure's NATIVE target objects, not on proxy representations of them. Build the combinatorial certificate — an equivalence class, an explicit pair of objects the procedure conflates, or a complexity barrier — that makes the limit checkable. Boundary: an informal analogy (e.g. 'both steps smooth high frequencies') is not a separation criterion and will be read as an underspecified mechanism.\n3. Prove the established method class fails the criterion AND map the current frontier. Exhibit concrete objects the method conflates to show the limit is real, then verify that no already-published method strictly surpasses it. Boundary: a 'surpass' that a recent stronger method already subsumes, or that beats only an un-augmented strawman baseline, is redundant rather than novel.\n4. Construct the augmented operator by re-injecting the discarded object into the procedure's core computational step so it becomes first-class structure rather than an attribute or a preprocessing artifact, and prove the result strictly exceeds the criterion (ideally proving incomparability to the canonical hierarchy, which stakes distinct territory). Boundary: a bolt-on formalism that does not demonstrably capture the specific missed invariant is abstraction without advantage.\n5. Bound the added cost and benchmark against the strongest competitors. Prove the augmentation preserves tractability — linear/quadratic overhead or polynomial delay — and compare against the strongest expressivity/complexity methods, not just the base procedure. Boundary: unvalidated tractability claims, missing state-of-the-art baselines, or only modest measured gains will sink the contribution even when the theory is clean.\n\n## Differentiation within parent\n\nSingleton under parent methodology — no sibling clusters exist.\n\n## When to pick this one\n\nInstantiate as this cluster when the plateaued method is an iterative or locally-scoped procedure over a relational/combinatorial object (graph, cell complex, causal DAG, persistence diagram) and you can name a single discarded structural object — a distance, a cycle, a substructure, a separating set — that you can re-inject into the procedure's core step at bounded cost. As the sole instantiation under this parent, the decisive signal is simply this match of \"iterative-local procedure + identifiable discarded structural primitive + re-injection point,\" rather than a contrast against an alternative tactic.\n\n## Tactical failure mode\n\nPapers attempting this tactic fail when the \"limit\" they characterize is not a genuine structural blindspot: it is either trivially implied by the model's own assumptions, already surpassed by a published method, or never formalized at all beyond an informal analogy. A recurring shape is substituting a hand-wavy mechanism (\"both operations act as low-pass filters\") for a separation proof, leaving reviewers unable to see why the augmented operator must exceed the baseline. Another shape is constructing the operator first and asserting superiority without surveying the frontier, so a recently published stronger method strictly subsumes the claimed gain — or, for pure-efficiency variants, existing implementations directly refute the novelty claim. A third shape ports a formalism to a new domain but never demonstrates it captures an invariant the incumbent provably misses, producing abstraction with no testable advantage and no baseline comparison. The self-check: can you exhibit concrete objects the established method conflates, prove that no already-published method separates them, and bound your added cost — if any one of the three is absent, the surpass claim is unsupported.\n\n## Examples\n### Oral lessons\n- Inserting a computationally cheap intermediate granularity — strictly finer than the baseline's coarse equivalence but far cheaper than full structural matching — captures most of the discriminative signal at linear overhead.\n- Importing a quantity from continuous geometry to serve as a directly computable certificate can convert a heuristically-described failure mode into a provable structural cause with a surgical remedy.\n- Reframing the question from 'how do we ascend the operator-complexity hierarchy' into 'what specific structural information is structurally absent from local aggregation' often surfaces a cheaper, more targeted augmentation.\n- A single combinatorial bridge that bijects a method's output descriptors to the structural features they encode can unlock the tight impossibility result and the recipe for surpassing it in one move.\n- Proving your augmentation is incomparable to the canonical hierarchy — capturing patterns it provably cannot, not merely being 'stronger' — stakes out genuinely new territory that a subsumption result cannot.\n- Porting a separation argument from proxy-object analysis onto a field's native target objects can reveal that the dominant framework provably cannot achieve the field's own stated purpose.\n\n### Reject lessons\n- Resting the central claim on an informal analogy (two operators 'both smooth high frequencies') instead of a separation proof leaves the mechanism underspecified and the empirical gain unconvincing.\n- Applying existing structural descriptors to a new application domain without formalizing a new limit or constructing a new operator yields a domain study, not a methodological contribution, and reviewers find no transferable novelty.\n- Claiming a 'maximally expressive' construction that a recently published method already strictly subsumes turns the surpass-the-limit claim into redundant work.\n- A novel formalism that cannot generate predictions or demonstrate concrete advantages over existing definitions reads as abstraction for its own sake.\n- Asserting the 'first efficient implementation' of a long-known algorithm without surveying the landscape invites direct refutation by existing faster implementations and collapses the novelty claim.\n- Deriving a 'limitation' that is trivially implied by the model's own linearity assumption produces a limit too weak to count as a real blindspot, and the proposed surpass step stays under-validated.\n\n_(cluster size: 15 papers)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C11.md", "sha256": "74f197a89da72069cef06640e425cb5fed8b36fa3f2247ac50690424ec904c65", "text": "# C11\n_parent: **Audit and Pivot an Assumption** (`assumption_audit_and_pivot`)_\n\n## Tactical pattern\n\nEvery paper here centers on a selection / acquisition / query rule — which instance to keep, which candidate to query, which subset to retain, which component to route to, or when to stop buying information — and pivots the single assumption baked into that rule's criterion or its required structure (a fixed trial count implying linear cost, greedy residual minimization, mean-based centroid selection, a privileged anchor element present in every query, proximity-to-a-reference-distribution as a quality proxy, deterministic always-pick-the-global-best). The pivot takes one of two concrete forms: relax the structural crutch to a weaker condition and re-prove the guarantee (randomize the count, drop the anchor, admit under-converged or biased selections), or reframe the selection task as a different and more tractable problem class — selection→combination, selection→online stopping, selection→optimal control, selection→posterior sampling, selection→ensemble denoising — and import that class's machinery. The invariant deliverable is a re-derived performance certificate for the pivoted rule: a regret bound, competitive ratio, generalization error, approximation ratio, or privacy/resource budget, shown to match or strictly beat the pre-pivot baseline. The verbs are concrete (randomize, decorrelate, decouple, rescale, reweight, reduce-to-an-auxiliary-process) and the objects are always the elements entering or leaving a budgeted choice procedure.\n\n## Step-by-Step\n\n1. Locate the selection, acquisition, query, or stopping rule at the heart of the procedure and name the ONE assumption its criterion or required structure rests on — the cost model it presumes, the object it greedily optimizes, the surrogate it ranks by, or the structural element (an anchor, a fixed count, pointwise monotonicity, a reference distribution) it needs to function. The assumption must be load-bearing: if striking it changes nothing measurable in the guarantee, you have an engineering substitution, not a pivot.\n2. Decide between relax and reframe. Relax when the assumption is a conservative crutch a weaker condition can replace (randomize what was fixed, drop the always-present element, admit noisy/under-converged inputs) — then the original guarantee should re-prove under the weaker condition. Reframe when the selection lens itself is the trap and the true objective matches a different problem class (combination, stopping, control, sampling, denoising); adopt that class wholesale rather than patching the selection criterion.\n3. Re-derive the formal performance certificate for the pivoted rule in the native currency of the field — regret, competitive ratio, generalization error, approximation ratio, or budget — and prove it matches or strictly beats the pre-pivot baseline. The guarantee must BE the contribution: swapping one criterion for another that merely performs better empirically, with no theorem stating when and why it wins, is the most common way this tactic falls short.\n4. Bind the improvement to the pivot by showing the gain collapses if you revert it — the logarithmic-instead-of-linear scaling, the constant-instead-of-spread-dependent ratio, or the tight-instead-of-overcounted bound must vanish when the old assumption is reinstated. Guard the bound's constants: a guarantee whose binding parameter is dataset-dependent or uncontrollable by the practitioner is vacuous in the worst case, and a bound built on a regularity condition the selection mechanism itself violates is self-contradictory.\n5. Exhibit the regime where the pivot pays off (many candidates, imperfect heuristics, absent target supervision, costly evaluation, capacity constraints) and confirm the pivoted rule does not silently break a property the original rule protected. Unlocking new behavior by violating an assumption — a new attack, a more flexible selection — while ignoring a guarantee it guarded (detectability, validity, constraint satisfaction, identifiability) draws rejection on the overlooked side effect rather than the headline result.\n\n## Differentiation within parent\n\nThis cluster pivots the assumption embedded in a discrete or sequential choice mechanism — which elements enter or leave a budgeted selection/query procedure — and rebuilds that mechanism's performance certificate. Sibling cluster 19 follows the same outer 'replace-then-rebound' shape but acts on a continuous estimator: it swaps a hard operator (truncation) for a smooth dampening operator inside a fixed variance-reducing correction term and re-derives the generalization bound on the same data the estimator already consumes. The sharp contrast is the OBJECT of the pivot — cluster 11 alters a combinatorial/sequential rule about which items are picked, retained, or queried (and frequently reframes selection into a different problem class like stopping or control), whereas cluster 19 alters the analytic form of an estimator without changing what data flows into it. Where cluster 19 stays inside one estimator family, cluster 11's hallmark move is changing the problem class the choice belongs to.\n\n## When to pick this one\n\nPick this when your problem is fundamentally a choice mechanism under a budget — which items, candidates, or queries to keep/acquire, which component to route to, or when to stop — and you suspect the rule's criterion (what it greedily optimizes or ranks by) or a structural precondition it requires (a fixed count, an always-present anchor, proximity to a reference) encodes an assumption that real settings can weaken or that a better-matched problem class would dissolve.\n\n## Tactical failure mode\n\nThe dominant failure is substituting one selection rule for another that performs better empirically while omitting the theorem that explains when and why it wins — reviewers read this as a straightforward engineering combination without structural insight, even when the empirical gains are real. A second shape is pivoting an assumption the community regards as a reasonable modeling choice rather than a genuine restriction (removing an anchor or a repeated-query requirement that practitioners consider natural, or predicting an unmotivated quantity), which leaves both motivation and novelty in doubt. A third shape is producing a guarantee that does not hold up: a binding constant that is dataset-dependent and uncontrollable by the practitioner (vacuous in the worst case), a regularity assumption the selection mechanism provably violates (e.g., assuming continuity of a discontinuous rule), or a marginal bound improvement with no matching lower bound to certify near-optimality. The self-check: can you name the baseline guarantee, show your pivoted rule strictly improves it with a controllable bound, AND defend that the assumption you pivoted was genuinely load-bearing rather than benign — and that the new behavior you unlocked does not quietly break a property the old rule protected?\n\n## Examples\n### Oral lessons\n- Randomizing a quantity the analysis silently treats as fixed — a trial count, a stopping time — can convert linear cost accumulation into logarithmic by recasting repeated selection as a single selection mechanism.\n- When choosing among candidates is intractable for want of target-side supervision, abandoning the selection lens entirely for a combination lens can recover a provable bound that selection framing could never deliver.\n- Splitting one optimism principle into two complementary roles — upper bounds to decide WHERE to query, lower bounds to decide WHAT to output — aims queries precisely at where decision uncertainty is highest without exhaustive enumeration.\n- Treating cheap, under-converged selections as approximately unbiased noise to be averaged away reframes selection quality from a single-run convergence problem into an ensemble-denoising problem within one full budget.\n- Deriving the acquisition criterion analytically from the downstream objective itself, rather than from a surrogate accuracy proxy, breaks the proxy-objective bottleneck that systematically misleads generic selection even as it improves intermediate metrics.\n- Importing a diagnostic from an adjacent subfield (spectral/covariance analysis) can reveal that the field's default selection target — proximity to a reference distribution — is itself the pathology rather than the cure.\n\n### Reject lessons\n- Substituting one selection heuristic for another without a theorem stating when and why it wins reads as an engineering combination, not a contribution, no matter how clean the empirical gain.\n- Pivoting an assumption the community treats as a reasonable modeling choice — rather than first proving it a genuine restriction — leaves both motivation and novelty in doubt.\n- A re-derived guarantee whose binding constant is dataset-dependent and cannot be controlled by the practitioner is vacuous in the worst case and fails to convince.\n- Building the entire analysis on a regularity condition (such as continuity or a Lipschitz bound) that the selection mechanism provably violates contradicts and undermines the formal claims.\n- Improving a bound by a marginal factor with no matching lower bound fails to demonstrate that the improvement is significant or near-optimal enough to clear the bar.\n- Unlocking a new capability by violating an assumption while ignoring a protective property it guarded — detectability, validity, identifiability — invites rejection on the overlooked side effect rather than the headline result.\n\n_(cluster size: 33 papers)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C12.md", "sha256": "6157bfd876ba96f837c0f577399f6afc1602e419c45fe77424f57b5e446a8927", "text": "# C12\n_parent: **Substitute the Operator or Representation** (`architectural_operator_substitution`)_\n\n## Tactical pattern\n\nWithin a deep, multi-stage compositional architecture (layered network, stacked blocks, probabilistic circuit), this cluster relocates or swaps a *structural slot* rather than tuning weights: it moves where trainable parameters live (from nodes to inter-unit connections; from stored interaction scalars to coordinate geometry), rewires the inter-stage routing topology (skip-connection target redirected from the adjacent stage to the final aggregation point; carry-forward state pulled from two stages back; prior-unit outputs consumed as first-class inputs), or substitutes the per-stage aggregation/representation primitive (full summation → max/min extremum selection; closed-form density → bijectively equivalent characteristic function; factored dimension-matched determinant → a single overparametrized Pfaffian of arbitrary rank; deep forward passes → role-partitioned lookup tables). The substitute is repeatedly anchored to a classical theorem or a revived classical representation that fits the same slot, and the move is accompanied by a proof or a curvature/gradient-dynamics measurement showing the essential property (expressivity, required symmetry, gradient flow, capacity equivalence) survives while a cost/expressivity property changes.\n\n## Step-by-Step\n\n1. Locate the cost or expressivity bottleneck inside the multi-stage pipeline and pin it to one concrete structural degree of freedom — the *placement* of trainable parameters, the *wiring* between stages, or the *primitive operator* that aggregates or represents at each stage. Name the exact element you intend to move or swap; pointing only at 'the architecture is expensive' or 'this module over-generalizes' reads as an undifferentiated tweak and gives reviewers nothing to evaluate as a contribution.\n2. Identify a surrogate that can occupy the same structural slot while changing the targeted property — ideally one grounded in a classical theorem, a bijectively equivalent representation, or a revived classical construction that the field had dismissed or never connected to this slot. Re-derive why the surrogate fits *this* problem's structure; a surrogate lifted wholesale from a separate application domain, with a coupling mechanism bolted on, will be read as borrowing rather than insight unless its fit to the target task is argued from first principles.\n3. Prove or directly measure that the substitution preserves the essential property the architecture relied on — universal approximation, a required symmetry or constraint, stable gradient flow, or an exact capacity/representational equivalence between old and new slot. The preservation argument must reveal new structure: a proof that is a trivial adaptation of an existing result, or that establishes a property orthogonal to the one the swap was meant to buy, leaves the load-bearing claim unsupported.\n4. Demonstrate that the surrogate not only matches the original but *unlocks something the original could not* — a strictly larger object class, configuration-agnostic generalization, symbolic extractability, emergent compression, or a property (parallelism, constant-time inference, manifold faithfulness) that the original slot structurally forbids. Showing mere parity, or a marginal metric gain at added cost, collapses the work into an incremental variant of the architecture it replaces.\n5. Validate the unlocked gain in the exact regime and at the scale where it is claimed, against baselines matched to that specific property. Reporting a secondary proxy — throughput without accuracy, toy-scale data, or no matched-compression/matched-parameter comparison — while leaving the headline property unverified is the single most common reason an otherwise-sound substitution is rejected.\n\n## Differentiation within parent\n\nThis cluster targets the macro-structural plumbing of deep compositional networks — parameter locus, skip/routing topology, and per-stage aggregation primitive — whereas sibling cluster 14 stays *inside* a single interaction score, disentangling it into factored content×position cross-product terms; cluster 12 papers rewire how stages connect and where parameters sit rather than decomposing one pairwise scoring function. Against cluster 30, which reparameterizes a non-convex *estimation/optimization* problem with a degree-indexed hierarchy to reshape the loss landscape, cluster 12's substitutions act on the forward computation graph itself (which operator aggregates, which connection carries the signal) and keep the network end-to-end trainable, not on the geometry of an estimator's objective. And unlike cluster 9, which reformulates *certification* by shifting from post-hoc artifact inspection to procedure attestation, cluster 12 never touches verification — it swaps the building blocks that produce the forward output.\n\n## When to pick this one\n\nPick this when the bottleneck lives in a staged network's structural plumbing — where trainable parameters sit, how stages connect, or what operator aggregates per stage — and you can name a classical-theorem-grounded or bijectively-equivalent surrogate that fits that exact slot while flipping a cost or expressivity property. Choose a scoring-function decomposition (14) instead if the bottleneck is inside a single interaction term, or an estimator reparameterization (30) if it is in the optimization landscape rather than the forward graph.\n\n## Tactical failure mode\n\nThe recurring failure is a substitution that is mechanically valid but whose payoff is absent or unverified. Authors successfully swap the operator, wiring, or parameter-locus, then stall in one of three ways: they prove preservation with a borrowed or trivial argument that exposes no new structure; they claim the property the new slot was supposed to buy — parallelism, aggressive pruning, scalability — without actually delivering or measuring it; or they port an architecture from another domain and add a coupling mechanism without grounding it in the target problem, producing an uncoordinated assembly rather than an insight. A diagnostic tell is validation on a proxy: throughput reported instead of accuracy, toy-scale data, or no matched baseline for the specific property claimed. Self-check: can you exhibit at least one object, capability, or regime the original structure provably cannot reach, and is the property the swap buys measured head-on rather than assumed to follow from the swap?\n\n## Examples\n### Oral lessons\n- Reviving a classical decomposition theorem the field dismissed as impractical — and showing the dismissal was an artifact of its minimal (shallow) form rather than the theorem itself — is among the highest-yield substitution moves.\n- Replacing a factored, dimension-matched constraint operator with a single overparametrized operator of arbitrary rank decouples parameter count from input configuration and converts a hand-crafted per-instance selection procedure into a fully end-to-end learnable one.\n- An over-parameterized, distributed per-unit representation can be more *learnable* than the minimal parsimonious one, because neural feature processing couples more tightly to local unit-level targets than to a single compact global tuple.\n- Treating the destination of a skip connection as a tunable degree of freedom — not a fixed adjacent-stage convention — lets you reorder backward gradient magnitudes and induce emergent structural compression with no auxiliary objective.\n- Substituting one representation for a bijectively equivalent one keeps the compositional structure fully intact while unlocking a strictly larger class of objects that had no usable form in the original representation.\n- Recasting an established operator through a frequency or curvature lens and grounding its benefit in measurable optimization geometry can falsify the field's prevailing mechanistic story and directly predict a better hybrid placement.\n\n### Reject lessons\n- Proving the substitute operator preserves universal approximation via a trivial adaptation of known proofs, while never connecting that result to the practical advantage (e.g. sparsification) that motivated the swap, makes the contribution read as incremental.\n- Claiming the rewired structure delivers a systems property — such as parallel forward/backward execution — that the underlying algorithm does not actually provide invites reviewers to falsify the headline claim head-on.\n- A training-time re-parameterization that yields only marginal accuracy gains at higher training cost, without strong matched-baseline comparisons, reads as added overhead rather than as an insight.\n- An elegant geometric reanalysis tool validated only on toy data, with no quantitative metric and an unclear delta over existing sensitivity measures, fails to show the substitution buys anything new.\n- Rewiring the dependency chain and reporting only throughput/speedup while omitting accuracy validation at scale leaves the essential preserved-property claim unverified.\n- Porting a two-component architecture from a separate domain and bolting on a cross-pathway coupling, without a unifying contribution grounded in the target task, reads as an uncoordinated assembly rather than a substitution insight.\n\n_(cluster size: 18 papers)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C13.md", "sha256": "7e19113e0aff6d02e77fc4a9898c6c5edae5a1b20f6c46bf65cd78fae0e62d9b", "text": "# C13\n_parent: **Encode Structure by Construction** (`structural_prior_encoding`)_\n\n## Tactical pattern\n\nThis cluster's move is to make the relational connectivity topology itself the encoded structural prior: define which entities link to which (and under what relation type), then run message-passing/propagation over that wiring so a specific structural quantity is captured by construction rather than relearned by a generic dense or attention model. Concretely the papers either (a) construct the edge set from geometry or features — project points onto a sphere and take the convex hull to fix edges, reweight edges by a feature-proximity kernel before local diffusion, build BFS dependency networks from a domain schema; (b) match the aggregation operator to each relation's topology — cyclic message-passing for feedback loops, set-membership/hypergraph aggregation for overlapping groups, subspace-decoupled Hodge operators, scalar compatibility potentials over output sequences; or (c) approximate an expensive structural statistic — shared-neighbor counts, local overlap — via propagated compact sketches or cached neighbor histories. The load-bearing object is always the graph/relation wiring or a statistic over it, not a transformation-group symmetry.\n\n## Step-by-Step\n\n1. Name the exact relational object your task depends on — a connectivity pattern, a structural statistic (shared-neighbor counts, local overlap), a relation-typed topology, or a geometric invariant — and state precisely what a generic dense/attention model would otherwise have to relearn. Boundary: if you can only say 'the graph structure' generically rather than a named quantity, you will read as an incremental graph-construction paper.\n2. Construct the topology or the operator so that the target object is satisfied or captured by construction: derive edges from geometry or feature proximity, read connectivity from a known schema while assigning each relation type an operator whose inductive bias matches its semantics, or replace a generic operator with a structurally-matched one. Boundary: favor a parameter-free or principled construction over a tunable add-on module — bolting an extra learned block onto an existing pipeline reads as assembly, not contribution.\n3. Isolate the load-bearing step and demonstrate via ablation what breaks without it: removing it should collapse the model either to a generic baseline (losing the structural property) or to an intractable one (losing efficiency). Boundary: if deleting your construction leaves performance roughly unchanged, the structure was never load-bearing and the framing is hollow.\n4. Attach a guarantee that the construction genuinely captures the claimed structure — an expressiveness proof, a recovery/identifiability result, a combinatorial bound, or an invariance certificate — and pair it with an efficiency or scalability argument. Boundary: a domain-motivated architecture with no guarantee that its wiring captures the claimed structure, and no statistical or expressiveness backing, is the single most common failure here.\n5. Validate against the simplest structure-agnostic explanation of the gains (correlation heuristics, a hand-crafted structural-proximity score, a single-stream model) under a realistic, non-inflated evaluation protocol. Boundary: balanced or easy evaluation sets and absent simple baselines routinely hide that a hand-crafted heuristic already matches your construction, which dissolves the motivation for the added structure.\n\n## Differentiation within parent\n\nThis cluster is distinct from sibling cluster 16, which also 'encodes structure by construction' but whose structural object is a transformation/symmetry group: cluster 16 makes a base procedure invariant by averaging it over a small representative frame of group transformations (exact symmetrization made cheap), so its move is about group actions on the whole input. Cluster 13's structural object is instead the relational connectivity topology — who connects to whom and under which relation type — and its move is to construct or refine the graph wiring (or the relation-typed operator over it) so a structural statistic or geometric property holds by construction. It is also unlike cluster 20, which targets robustness of a corrupted learner via internal salience alignment rather than encoding any relational topology at all. Where 16 asks 'what transformation leaves the answer unchanged', cluster 13 asks 'what is the connectivity graph and what statistic over it must be preserved'.\n\n## When to pick this one\n\nPick this cluster when your known structure is a relational/connectivity topology — entities joined by typed relations, geometry-induced adjacency, or a domain relational schema — or a named statistic over such a graph, rather than a symmetry group acting on the input. The trigger is that your prior knowledge takes the form 'who is connected to whom and how' (or 'this structural count matters'), not 'the output is invariant to this transformation'.\n\n## Tactical failure mode\n\nThe recurring reject shape (drawn from a healthy 12-paper Reject sample) is assembling existing relational-learning components — message passing plus attention plus sequential state tracking, or a domain-derived graph plus a standard GNN — into a problem-specific architecture, then claiming the encoded relational structure as the contribution without proving it. The wrong assumption is that wiring domain or relational structure into a model is itself the advance: reviewers instead read incremental assembly whenever the genuinely novel piece versus the inherited components is not sharply delineated. The construction typically carries no guarantee (no expressiveness, recovery, identifiability, or uniqueness result) that its wiring actually captures the claimed structural property. Compounding this, evaluation uses inflated or balanced protocols and omits the simplest structure-agnostic comparison, so it stays invisible that a hand-crafted heuristic or correlation baseline already suffices. A candidate can self-check by asking: can I name the exact statistic captured, prove the construction captures it, show via ablation that removing it collapses the model, and beat the cheapest baseline on a realistic distribution — if any answer is no, this is the failure mode.\n\n## Examples\n### Oral lessons\n- Separate the structural-information requirement from the expensive mechanism that conventionally supplies it: if a statistic like shared-neighbor counts can be approximated by a cheap propagated summary, you capture expressiveness and efficiency in one move.\n- A parameter-free construction that simultaneously certifies several previously-competing properties — sparsity, global connectivity, and geometric rigidity via a classical combinatorial bound — beats a tunable module that secures only one.\n- Reframe relations as constraints over the output space (scalar compatibility functions) rather than as forward generators, which buys compositionality, test-time editability, and anomaly scoring for free.\n- Inject auxiliary signal such as feature proximity into the edge weights of a purely local procedure so it becomes feature-aware at no loss of locality, and back the construction with a statistical recovery guarantee.\n- Aim for the rare triple contribution — a theorem (expressiveness or recovery), an efficiency argument, and SOTA results — since pairing the structural construction with proof plus speed is what separates accepts from plausible-looking architectures.\n- Treat the structure's own connectivity as a free supervisory signal: the absence of a link is as informative as its presence and can directly supervise the relational weighting.\n\n### Reject lessons\n- Combining borrowed modules (global plus local streams, attention plus state tracking) with no genuinely new mechanism reads as incremental even when the combination is sensible.\n- A domain-grounded architecture lacking any theoretical guarantee that its wiring captures the claimed structure — and lacking a uniqueness or identifiability argument — leaves reviewers unable to credit the structural claim.\n- Inheriting the core operator and its constraints from prior work and merely porting them to a new domain collapses the contribution to assembly unless the incremental piece is delineated explicitly.\n- Inflated or balanced evaluation protocols can mask that a hand-crafted structural heuristic already outperforms the learned construction in the realistic distribution, removing the motivation for added complexity.\n- Omitting closely-related SOTA baselines and the simplest correlation or heuristic comparison makes any claimed structural advantage unverifiable.\n- Proposing a new construction or task without analyzing the information loss it introduces (compressing histories into profiles, projecting away radial distance) invites doubt about whether the encoded structure helps or hurts.\n\n_(cluster size: 17 papers)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C14.md", "sha256": "5eb5d1ba44a72a8e8274a8958a1e9ac64b0badb96896f637d2072733e2312abe", "text": "# C14\n_parent: **Substitute the Operator or Representation** (`architectural_operator_substitution`)_\n\n## Tactical pattern\n\nThe cluster's move is to replace the dense O(N²) all-pairs pairwise-interaction operator — softmax self-attention — with a sub-quadratic surrogate while making the contribution the proof that the surrogate retains attention's load-bearing property rather than the raw FLOP reduction. Concrete surrogate constructions recur: factor the softmax kernel through (non-negative) randomized feature maps so its numerator and denominator collapse into cumulative sums evaluated by associativity; swap the dense interaction for depthwise large-kernel convolutions, bidirectional state-space scans, or implicitly parameterized long convolutions interleaved with multiplicative gating; or compress the interaction into structured factored linear maps (block-diagonal × permutation) or hierarchical/sparse routing graphs. A distinct second flavor proves an EXACT algebraic equivalence between attention and a primitive from an adjacent field — continuous Hopfield retrieval, a gated-RNN update, one gradient-descent step, outer-product memory — importing that field's guarantees and reinterpreting what attention computes. In every variant the deliverable is the preserved-property argument: expressive class, receptive-field size, retrieval capacity, or order-preservation.\n\n## Step-by-Step\n\n1. Localize the cost to one specific operator and write down explicitly the property it must preserve. Pin the bottleneck to a single object — the dense all-pairs interaction, an iterated propagation, a joint tensor product — and name the property whose loss would break the model: expressive class, receptive-field reach, retrieval capacity, or ordering sensitivity. Skipping this and treating the swap as self-evidently cheaper leaves no yardstick for fidelity and invites the 'rigorous but already believed' dismissal.\n2. Choose a surrogate whose cheapness comes from an algebraic or structural lever, not from discarding inputs. Pick a primitive — kernel/random-feature factorization, convolution, state-space scan, structured factored matrix, hierarchical or sparse routing — whose lower cost follows from associativity, factorization, or compression so that no element is dropped from the interaction. Surrogates that buy speed by pruning, downsampling, or windowing away interactions tend to trade off the very property named in step 1.\n3. Prove the surrogate preserves that property, surfacing the hidden invariant the fast computation secretly depends on. Either derive an approximation/equivalence bound or exhibit an exact algebraic identity, and explicitly identify and enforce the structural precondition the rewrite needs — positivity of the kernel, a low-rank-plus-normal decomposition, an order-preserving parameterization. A fidelity proof that never connects to a consequence, or a swap that silently violates the invariant, is the most common fatal gap.\n4. Demonstrate that the substitution itself is the causal driver by controlling every confound. Hold fixed positional encodings, parameter count, added multi-scale or capacity features, and the training recipe so the measured gain cannot be attributed to anything but the operator swap, and benchmark not only against the expensive original but against the existing family of cheaper surrogates. Omitting the surrogate-family baselines makes the work read as a redundant reparameterization, and uncontrolled confounds make the headline conclusion unattributable.\n5. Stress-test in the exact regime the substitution targets and state the consequence it unlocks. Evaluate at the scale or input length where the original operator fails — very long sequences, very large element sets, higher representational orders — and articulate what the swap delivers beyond efficiency: a previously infeasible task, a resolved efficiency-versus-quality tradeoff, or imported theory that reframes the operator. Small-scale-only validation, or a swap with no demonstrated downstream consequence, leaves the core promise untested.\n\n## Differentiation within parent\n\nThis cluster physically removes the operator and installs a cheaper primitive in its place, whereas sibling cluster 12 keeps the module intact and instead re-explains its mechanism — using Hessian curvature spectra to argue landscape flattening, not the conventionally attributed cause, drives generalization; that is a reinterpretation move, the opposite of a substitution. It also differs from sibling cluster 30, whose degree-parameterized reparameterization builds an infinite hierarchy of non-convex estimation problems to ease optimization/identifiability — a reparameterization of an estimation objective, not a cost-driven swap of a forward relational or sequence operator. The defining signature here is a sub-quadratic surrogate for the dense pairwise-interaction operator whose acceptance hinges on a preserved-capacity proof (expressivity, receptive field, retrieval capacity, or order-preservation), rather than on a new mechanistic explanation (cluster 12) or an estimation-tractability reparameterization (cluster 30).\n\n## When to pick this one\n\nPick this instantiation when the bottleneck is concretely the dense pairwise-interaction (all-pairs / softmax-attention) operator over N elements and you can name a cheaper primitive whose preserved property — expressivity class, receptive field, or retrieval capacity — you can prove or exactly equate. Do not pick it when the operator's cost is acceptable but its mechanism is misunderstood (a re-explanation move) or when the expense lives in estimation/optimization rather than the forward interaction.\n\n## Tactical failure mode\n\nPapers in this cluster fail when the surrogate is offered as a cheaper-but-equivalent reparameterization with no load-bearing consequence: the preservation argument is absent, trivially true ('already believed by the field'), or proven yet never connected to a capability the original operator lacked. A second recurring shape is the unattributable gain — the operator swap co-varies with a confound (positional encoding, added parameters, multi-scale features, different pre-training data) and no controlled ablation isolates the substitution as the cause. A third is baseline myopia: comparing only against the expensive original while ignoring the established family of cheaper surrogates, so the contribution reads as a redundant re-derivation. These frequently combine with empirical thinness — validation only at small scale or short sequences, never stress-tested in the long-context or large-element regime the substitution is meant to rescue. A candidate author should self-check: have I proven the preserved property actually matters, ruled out every confound, beaten the existing surrogate family, and tested at the regime where the original operator breaks?\n\n## Examples\n### Oral lessons\n- When two failure modes are conventionally patched separately, showing they share a single root cause lets one operator substitution resolve both at once — a far stronger contribution than two independent fixes.\n- A linear-time rewrite of a quadratic operator hinges on preserving a hidden algebraic invariant (such as kernel positivity); naming and enforcing that invariant, not the speedup itself, is the load-bearing insight.\n- When an expressive operator resists efficient computation because of a localized numerical pathology, decompose it so the pathology sits in a small exactly-handled correction term and the remainder admits the fast algorithm.\n- An exact (not approximate) algebraic equivalence between a popular operator and a primitive from an adjacent field retroactively grounds the operator and imports that field's decades of theory and guarantees.\n- Recasting operator application in a second algebraic vocabulary can yield parameterizations — for instance order-preserving ones — that were impossible to express in the original framing, removing a cost that ordering constraints seemed to force.\n- Treating an apparent cost-versus-capability tradeoff as a false dichotomy, then exhibiting a structured construction that achieves both simultaneously, is a high-yield reframing that resolves an open problem rather than merely approximating around it.\n\n### Reject lessons\n- If a confound (positional encoding, extra capacity, added multi-scale features) co-varies with your operator swap, the headline conclusion becomes unattributable and reviewers reject it as opportunistic.\n- Comparing your cheaper operator only against the expensive original — never against the existing family of cheaper alternatives — makes it read as a redundant reparameterization rather than an advance.\n- An equivalence or approximation proof with no downstream consequence is dismissed as formalizing what the field already assumed to be true.\n- Bolting together established cheaper components without a single unifying load-bearing insight invites the 'combination of existing modules / engineering report' rejection.\n- Failing to evaluate in the exact regime your substitution targets — long sequences, large scale, high representational order — leaves its core promise untested and the claim unverifiable.\n- A contrived or artificially motivated setup, paired with ablations that fail to isolate the proposed mechanism, leaves the observed gains attributable to incidental added capacity rather than the substitution.\n\n_(cluster size: 50 papers)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C15.md", "sha256": "fce7d01cac2fe7f8562d5de2af87159547d7a7e9bb9b115560af14a00a6f8999", "text": "# C15\n_parent: **Liberate a Fixed Generative Component** (`generative_process_redesign`)_\n\n## Tactical pattern\n\nThese papers re-choose the geometric/structural representation that a 3D synthesis or reconstruction procedure operates over, treating the conventionally-inherited parameterization as a tractability convenience rather than an actual requirement. Concrete moves recur: replace continuous implicit fields (NeRF/SDF MLPs) with explicit discrete primitives (3D Gaussians, sculpted neural points, sphere-initialized tetrahedra); re-parameterize variable-connectivity meshes as a fixed-resolution deformable tetrahedral grid so a standard fixed-tensor diffusion model applies; swap an unsigned distance function for a signed field on an enclosing watertight domain to make open surfaces extractable; store features in explicit sparse 3D voxel grids instead of factored tri-plane latents; or substitute generated pseudo-observations (multi-view, canonical-frame) for missing real ones so an unchanged downstream estimator becomes well-posed. The substitution itself is the load-bearing contribution — the surrounding generative, feed-forward, or simulation machinery is deliberately left standard, and the gain (order-of-magnitude speedup, higher fidelity, a previously unreachable output class) is attributed to the representation alone. The free variable being liberated is the spatial substrate the engine reads and writes, not the engine.\n\n## Step-by-Step\n\n1. Name the geometric/structural representation your pipeline inherited by default and ask what it was actually chosen for — almost always the tractability of an upstream step, not the task's true requirement. Pin down the specific downstream failure that representation forces (occupancy pruning that needs dense consistent multi-view signals, unsigned fields that break bisection-based contour extraction, variable connectivity that blocks fixed-tensor generators, factored latents that cap fidelity).\n2. Select an alternative representation whose intrinsic structural property removes that failure by construction rather than by an added regularizer. The strongest substitutions exploit a property the alternative already has — a signed field's interior/exterior sign, a grid's identical tensor layout across instances, a volumetric primitive's internal connectivity, an implicit query's constant-time distance — instead of bolting a correction onto the old representation. A swap that merely carries an existing representation into a harder input regime without such a property reads as incremental.\n3. Hold the rest of the pipeline fixed and route the swap so the heavy machinery (diffusion, feed-forward reconstructor, simulator, estimator) consumes or emits the new representation unchanged. The contribution should be the substitution; resist accreting bespoke encoders, tokens, or loss terms whose individual necessity you cannot defend, since they dilute the claim into 'engineering integration.'\n4. Demonstrate the capability the old representation could not deliver — order-of-magnitude speed, fidelity on a previously unreachable output class, scale to far more elements — and isolate it with an ablation that swaps the representation back to confirm the gain is the representation's doing and not a co-varying trick.\n5. Prove the old representation was a false constraint by exhibiting the concrete regime where it provably fails and the new one does not (sparse or uneven inputs, ambiguous supervision gradients, open or non-watertight boundaries). Showing only equivalence, or gains that are marginal and untraceable to the swap, is the dominant reason sound versions of this tactic get rejected.\n\n## Differentiation within parent\n\nWhere sibling cluster 24 ports the iterative-refinement process itself — a fixed forward-corruption / learned-reverse-denoising loop — to a new output domain while keeping the representation native, this cluster keeps the generative or reconstruction procedure standard and instead swaps the geometric representation it consumes or emits (implicit→explicit primitives, mesh→deformable grid, unsigned→signed enclosing field, real→generated pseudo-observations). Sibling cluster 23 redesigns the conditioning/reference signal — mapping local features to an identity-neutral multi-source average to disentangle content from source attributes — so its free variable is conditioning semantics, not spatial substrate. Compactly: cluster 24 changes the engine's domain, cluster 23 changes what conditions the engine, and this cluster changes the geometric representation the engine reads and writes while leaving the engine intact.\n\n## When to pick this one\n\nPick this when your pipeline's bottleneck — slow convergence, capped fidelity, an output class it cannot reach — traces to the geometric/structural representation it inherited (continuous implicit fields, variable-connectivity meshes, unsigned distances, factored latents, posed-geometry assumptions) rather than to the learning procedure or the loss. The decisive signal is that the representation was adopted for upstream convenience and the task never actually required it.\n\n## Tactical failure mode\n\nThe reject papers do execute the representation swap, but fall short on proving necessity. The most common shape: the new representation is adopted to handle a harder input regime (sparse or unevenly sampled data, environment-specific signals, higher resolution) but the paper never exhibits a controlled setting where the prior representation provably fails and theirs does not — so reviewers read the swap as an incremental extension of an existing representation rather than the liberation of a false constraint. A second shape: empirical gains over strong baselines are marginal or not isolated to the representation change, leaving 'why is this representation uniquely necessary?' unanswered. A third: the core substitution is real but the paper accretes auxiliary modules — extra encoders, conditioning tokens, loss terms — whose individual necessity is unjustified, so the contribution dissolves into engineering integration with thin perceived novelty. A fourth: the paper claims a structural property the representation should confer (cross-view consistency, validity under symmetry, generalization) without demonstrating it. Self-check: can you point to the regime where the old representation causes measurable downstream harm, and an ablation that swaps back to confirm the gain is the representation's doing?\n\n## Examples\n### Oral lessons\n- A plain observational generative model's learned distribution already encodes enough multi-condition variation to act as implicit structural supervision — projecting a coarse guess onto its manifold turns an implausible sample into a usable pseudo-observation, no structural labels needed.\n- Re-parameterizing a variable-structure object through a fixed-resolution deformable grid pushes structural variation into per-node scalar values, giving every instance an identical tensor layout so off-the-shelf fixed-input generators apply with zero specialized machinery.\n- Treating an upstream-produced discrete scaffold as a mutable, differentiable object the loss can reshape (insert and prune elements) — rather than a fixed input to accept — lets explicit representations match implicit ones at a fraction of inference cost.\n- A hard representational problem (open or non-watertight boundaries) collapses to a tractable one by embedding the object as a delimited region inside a simpler complete enclosing domain where standard signed-field extraction works.\n- An ill-posed inverse problem becomes well-posed by generating the missing observations, or by predicting everything in one canonical reference frame — so the downstream estimator needs no change and a long-assumed input dependency (camera poses, dense capture) simply disappears.\n- Output quality is an emergent property of inter-element interactions, so it must be baked into each primitive's internal organization (volumetric connectivity) rather than imposed as a post-hoc cleanup pass over isolated elements.\n\n### Reject lessons\n- Swapping a representation to survive a harder input regime, without exhibiting a controlled setting where the old representation provably fails, reads as an extension rather than a liberation.\n- Sound theoretical correctness of a new representation does not survive review when empirical gains over strong baselines are marginal and not shown to fix a real downstream failure mode of competitors.\n- A representation borrowed from a neighboring subfield and ported into a new domain is judged incremental unless the paper states exactly what the port resolves that prior representations could not.\n- Stacking auxiliary encoders, conditioning tokens, and loss terms around the core substitution without justifying each component's necessity dissolves the contribution into engineering integration with thin novelty.\n- Claiming a structural property the chosen representation should confer — cross-view consistency, validity under symmetry, generalization — without demonstrating it leaves reviewers unconvinced the representation actually delivers the advertised benefit.\n\n_(cluster size: 34 papers)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C16.md", "sha256": "0978269b1da55a84902d42087c8d481a3fb40c6d299870d760ff9a64df1ed70e", "text": "# C16\n_parent: **Encode Structure by Construction** (`structural_prior_encoding`)_\n\n## Tactical pattern\n\nIdentify the symmetry group that genuinely acts on the problem's data or parameter space — a continuous geometric group (SE(3)/SO(3), scale, gauge), a discrete group (permutation of interchangeable units, sign-alternation), or an algebraic group (Clifford/geometric-algebra, group-commutant) — and then either (a) construct operators that commute with the group action exactly by construction (equivariant message-passing in raw coordinate space, group-averaging over a structured representative frame, equivariant diffusion transition kernels that induce invariant distributions, or a complete basis of equivariant linear maps read off an algebraic duality), or (b) characterize and complete a symmetry group the field has only partially recognized and exploit it for alignment/merging. The load-bearing verbs are derive, enumerate, lift, average, commute, and characterize; the objects are group actions, equivariant operators, frames, transition kernels, commutant bases, and permutation/scaling reparameterizations. The defining commitment is that the invariant/equivariant property is certified analytically rather than approximated by augmentation or learned from data.\n\n## Step-by-Step\n\n1. Pin down the exact symmetry group acting on your data or parameter space, and separate the true effective group from the naive one. Over-claiming the full group when the data only lives on a subgroup orbit needlessly forfeits expressivity, while under-claiming when a richer (often continuous) group is hiding leaves correctness or merging gains on the table — the effective group is itself a non-trivial object to get right.\n2. Choose your route: construct operators that commute with the group by construction, or characterize/complete a symmetry group the field has only partially mapped. Either way, account for the admissible maps completely or prove sufficiency. A construction that silently restricts or relaxes the operator space without a completeness argument reads to reviewers as a 'simple variation of standard techniques' rather than a contribution.\n3. Derive the operator family analytically — read equivariant maps off an algebraic duality, average a base procedure over a structured representative subset, prove an equivariant transition operator induces an invariant distribution, or lift the group action to an algebra automorphism. The derivation, not the network wiring, is the load-bearing artifact; a theorem with no instantiable operator collapses into 'mathematics in search of an application.'\n4. Instantiate the operators as a working module and bind the symmetry to a concrete payoff a generic model cannot obtain for free: state-of-the-art on a geometric task, near-zero-barrier interpolation between independently trained solutions, lossless state-space compression, or sharp sample efficiency. A unified or general symmetry framework that merely matches specialized baselines — rather than beating at least one — converts versatility into a liability.\n5. Preserve every property the downstream task depends on while enforcing the symmetry, and verify the construction introduces no defect the guarantee would otherwise mask — broken differentiability, discarded directional signal, or quantization artifacts. Demonstrate the failure of the un-encoded baseline precisely in the regime where the symmetry bites (long iterative rollouts, large instance sizes, off-manifold or arbitrarily-oriented inputs), so the inductive bias is shown to be necessary, not decorative.\n\n## Differentiation within parent\n\nThis cluster's signature is a group-theoretic equivariance/invariance certificate: a mathematically known symmetry group is baked into operators (or completed and exploited) so the property holds by construction and is never relearned. Sibling cluster 13 instead LEARNS relational structure from data — it augments a learned pairwise interaction-weighting mechanism with a self-supervised relational-link objective, so the structure is discovered and scored rather than derived from a known group; that is the opposite of this cluster's analytic-derivation commitment. Sibling cluster 20 is not about symmetry at all — it aligns a corrupted learner's internal salience/routing distributions to a clean reference for robustness, a representation-matching tactic with no group action in play. Where 13 supplies missing structure through auxiliary supervision and 20 repairs internal routing, this cluster's distinctive move is enforcing or enumerating an exact algebraic symmetry.\n\n## When to pick this one\n\nPick this instantiation when the problem carries a mathematically characterizable symmetry group — rotation/translation, permutation of interchangeable units, scaling from operator homogeneity, or an algebraic group — whose orbit the data or parameters genuinely traverse, and you can derive the equivariant operators or enumerate the group exactly. If the relevant structure must instead be discovered empirically or supplied by auxiliary supervision, you are in a sibling cluster, not this one.\n\n## Tactical failure mode\n\nWith seven Reject papers this is an adequate sample, and the recurring failure shape is consistent. The most common structural flaw is presenting a symmetry construction that is a special case or simple variation of existing equivariant machinery whose operator basis is never shown to be complete — once a relaxation to a subgroup or a low-order restriction silently drops part of the admissible map space, reviewers read it as expressivity-limiting rather than novel. A second shape is the correct-but-unmotivated result: propositions without proofs, no real downstream application, and a narrow architecture or single contrived experiment, so the work reads as 'mathematics in search of a problem.' A third is the unified symmetry-invariant representation that generalizes across many tasks from one set of parameters yet beats no specialized baseline on any of them, turning versatility into a weakness. A fourth is the symmetry-enforcing shortcut that silently breaks a property the task depends on (smoothness/differentiability, directional signal, quantization-free coordinates) even while being faster and provably symmetric. Self-check: Is my operator family proven complete or provably sufficient? Does the symmetry buy a concrete advantage a generic model cannot get for free? Does it beat — not merely match — specialized baselines? And does enforcing it break anything the downstream objective needs?\n\n## Examples\n### Oral lessons\n- A tiny structured subset of an intractable transformation family — chosen so the subset itself satisfies a subset-level symmetry property — can replace averaging over the whole family, collapsing the exactness-versus-tractability tradeoff the field had accepted as unavoidable.\n- Shifting the invariance burden from the representation to the operator — proving an equivariant transition kernel preserves an invariant distribution — lets you model the raw, non-invariant representation directly instead of routing through lossy hand-crafted invariant features.\n- Reading the complete equivariant operator basis off an algebraic duality (a commutant algebra, a conjugation automorphism that preserves the multiplicative law) eliminates the costly irreducible-decomposition detour everyone treated as mandatory.\n- Discovering that the field has characterized only part of a parameterization's symmetry group — continuous maps beyond discrete reorderings, scaling symmetries from operator homogeneity, joint module-and-selector permutations — and then completing it is among the highest-yield moves available.\n- When an external force or boundary condition breaks full symmetry, the correct inductive bias is the exact effective subgroup, not the full group; imposing too much symmetry is as wrong as imposing too little.\n- Symmetry need not be wired into each architecture — it can emerge at the aggregate of an ensemble under full orbit coverage, or be measured post hoc with a differential operator — reframing equivariance from a hard construction constraint into a controllable, auditable quantity.\n\n### Reject lessons\n- A layer that relaxes a global symmetry constraint to a subgroup may gain expressivity on paper, but without a proof that the resulting operator family is complete it is dismissed as a special case of known techniques.\n- A correct and novel group-theoretic result presented without proofs and without a developed real-world application reads as 'mathematics in search of a problem,' no matter how clean the algebra.\n- A unified symmetry-invariant representation that serves many tasks from a single set of parameters but fails to beat any specialized baseline on any task turns its own versatility into the decisive weakness.\n- A symmetry-enforcing shortcut that breaks a property the downstream objective silently depends on — differentiability, smoothness, directional signal — gets rejected even when it is faster and provably respects the target symmetry.\n- Symmetry-exploiting augmentation that requires bespoke per-problem symmetry analysis is read as narrow engineering rather than a transferable method, capping its perceived generality.\n\n_(cluster size: 28 papers)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C17.md", "sha256": "7909db559de1066dee94d425dd43285f7a88c619ba65870632bf787629aaf167", "text": "# C17\n_parent: **Design a Property-Targeting Pretext Objective** (`targeted_self_supervised_objective`)_\n\n## Tactical pattern\n\nThe shared move is to re-engineer the PAIRING/ALIGNMENT geometry of a similarity/contrastive objective — what counts as a positive, a negative, or an alignment target — so that the targeted structural property is the only thing whose encoding minimizes the loss, rather than training generic semantic-invariance. Concretely, papers source the pairing signal from one of three places: the model's own evolving outputs or representation-space neighbors (model-output-derived pseudo-pairs, proximity-mined positives), a complementary view of the same entity (cross-view contrastive alignment, cross-view principal-subspace swap, privileged auxiliary annotations that share the input's representational space), or a graded/ordered attribute axis (continuous-label contrastive, whole-part hierarchical entailment ordering). The decisive technical act is replacing or inverting a default geometric primitive — swapping the inner-product similarity for a property-sensitive one, inverting the specificity direction of an ordering, relocating a reconstruction target into latent space, or exchanging decomposition axes across views. This converts a generic invariance objective into an explicit geometric constraint that writes the property directly into the representation space.\n\n## Step-by-Step\n\n1. Pin down the one structural property the downstream task depends on that generic invariance objectives discard — continuous ordering, whole-part hierarchy, cross-view correspondence, or partition separability — and state precisely why the default representation geometry is blind to it. Resist targeting a vaguely-named property such as 'disentanglement' without an operational definition; an undefined target cannot later be probed, and reviewers treat the central claim as unfalsifiable.\n2. Choose where the objective's pairing or alignment signal will come from so that encoding the property is the only path to minimizing the loss: the model's own evolving outputs and representation-space neighbors, a complementary view of the same entity, or a graded attribute axis. Make this sourcing the load-bearing design decision rather than a bolt-on — feeding a frozen off-the-shelf signal generator into an otherwise-unchanged standard objective reads as combining two published systems, not as targeting a property.\n3. Identify the single non-obvious substitution or inversion of a geometric primitive that actually makes the pairing encode the property — replace inner-product similarity with a property-sensitive measure, invert an ordering's specificity direction, relocate the reconstruction target into a continuous latent space, or exchange decomposition axes across views. One sharp insight here is what separates a targeted objective from a recombination; if you cannot name a primitive that belongs to neither borrowed component, the contribution will be judged thin.\n4. Ground the claim that the objective captures the property instead of asserting it: derive the objective from a latent-variable or information-theoretic model, and/or isolate it with an ablation that removes only the new pairing component, paired with a direct probe of the property itself. Skipping the component-isolating ablation is the dominant rejection trigger, because gains then cannot be attributed to the claimed mechanism rather than to the borrowed backbone.\n5. Demonstrate that the property-encoding geometry transfers to downstream tasks and compare against the nearest pair-construction or alignment competitors, not only generic baselines. Omitting the closest pairing-strategy baselines makes any improvement unattributable and converts an otherwise-valid contribution into an 'incremental combination' verdict.\n\n## Differentiation within parent\n\nSingleton under parent methodology — no sibling clusters exist.\n\n## When to pick this one\n\nPick this instantiation when the targeted property is relational or geometric — expressible as which instances should sit near, far, ordered, or aligned-across-views — so it can be injected by reshaping the objective's pairing structure rather than by defining a per-instance prediction target.\n\n## Tactical failure mode\n\nDrawn from a moderate Reject sample (n=6), the recurring shape is sourcing the pairing/alignment signal by composing two already-published components — a frozen pretrained predictor feeding a standard SSL pipeline, reconstruction pretraining followed by a stock nearest-neighbor contrastive pass, an established clustering head coupled to an established mutual-information loss, or existing mixup recipes recombined for contrastive regression — and presenting the composition itself as the contribution. These papers never re-derive WHY this particular pairing geometry uniquely encodes the targeted property; they assert it is captured ('disentangled', 'prosody-specific', 'partition-discriminative') but supply no operational definition, no direct probe, and no ablation that isolates the new pairing component from the borrowed machinery. Because the nearest competing pair-construction methods are absent from the comparison, reviewers cannot attribute the reported gains to the claimed mechanism, and the work reads as incremental regardless of accuracy improvements. Self-check: if your objective can be fully described as 'method A's signal plugged into method B's loss' and you cannot point to one structural primitive that is neither A's nor B's, you are in this failure mode.\n\n## Examples\n### Oral lessons\n- Bootstrapping positive/negative pairs from the model's own evolving probabilistic outputs lets representation learning and assignment resolution reinforce each other instead of deadlocking as sequential prerequisites.\n- Replacing the default inner-product similarity with a property-sensitive measure reframes a continuous attribute as a first-class geometric axis the representation must encode, rather than a label that invariance washes out.\n- When two views are independently corrupted projections of the same latent structure, mutually swapping their principal subspaces denoises both at once — far stronger than treating each view's cleanup as a separate problem.\n- Inverting the assumed specificity direction — making parts ancestors and wholes descendants — is the single move that turns a flat paired-contrastive setup into a genuinely hierarchical geometry.\n- Auxiliary supervision induces the intended representational split only when it shares the input's representational space; an intuitively appealing proxy drawn from the wrong space silently fails to disentangle.\n- Sourcing structural sub-units from outputs an automated tool already produces means a richer geometry can be targeted with zero additional supervision.\n\n### Reject lessons\n- Concatenating a frozen off-the-shelf predictor's output as an extra input channel injects no novel insight — it reads as combining two published systems regardless of the accuracy gain.\n- Claiming a representation is 'disentangled' or property-specific without an operational definition, a direct probe, or an isolating ablation leaves the central claim ungrounded and unverifiable.\n- Following reconstruction pretraining with a stock nearest-neighbor contrastive pass reads as stacking existing techniques unless you show the new stage reorganizes signal that could not otherwise arise.\n- A hard-pair construction strategy that closely recombines existing mixup/contrastive recipes collapses to 'incremental' the moment the nearest pair-construction baselines are missing from the comparison.\n- Coupling a published clustering head to a published mutual-information objective via a feedback regularizer is judged a careful combination, not a contribution, when neither component nor the coupling is itself new.\n- Gains attributed to a new alignment component evaporate under scrutiny when the ablation suite never isolates that component from the borrowed backbone.\n\n_(cluster size: 15 papers)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C18.md", "sha256": "871ad780b2120f7f4bd0930a3ae0d2c66e3928368a5ffbf36f4777c3fb8d01a6", "text": "# C18\n_parent: **Unify Heterogeneous Inputs into One Space** (`unify_into_shared_representation`)_\n\n## Tactical pattern\n\nThe shared move is to take a modality or task family that lacks the exact substrate a mature, dominant recipe depends on — a discrete vocabulary, a fixed-rate sequence, or a known shared embedding — and manufacture that substrate so the recipe transfers unchanged. Concretely: train a vector-quantizer or codebook to discretize a continuous signal (images, audio, motion, speech, gene/feature vectors) into categorical units; serialize a structured signal into the surface form of a dominant modality (numbers-as-strings, rank-sorted feature-names-as-text, rendered pixels, screenshot-to-markup); or fit a lightweight projection/bridge that lands a foreign modality inside a frozen pretrained model's representation space. Then apply the borrowed objective — masked-token prediction, autoregressive next-token generation, or contrastive alignment — identically across modalities through one uniform model, deleting per-modality heads. The load-bearing artifact is the interface (tokenizer, serializer, or projector), not the backbone it feeds.\n\n## Step-by-Step\n\n1. Locate a modality or task family currently served by bespoke, hand-engineered pipelines, and name the blocking assumption that has kept a mature dominant recipe out of it — usually 'this signal is continuous and has no vocabulary,' 'it needs a specialized architecture,' or 'its representation space is incompatible with the pretrained model.' Treat that assumption as a hypothesis to dissolve, not a fixed constraint. The gap you are exploiting is that the substrate the recipe depends on can be manufactured rather than assumed absent.\n2. Construct the interface artifact that makes the new modality conform to the substrate: a learned discretizer that maps the continuous signal to categorical units, a serialization that renders it in the surface form of a mature modality, or a small projection/bridge that lands it inside a frozen pretrained model's representation space. Independently validate that the artifact carries semantic structure — that its tokens or embeddings cluster by meaning rather than surface statistics. A bare plug-and-play swap of an off-the-shelf component, with no evidence the interface itself does work, is the most common way this move is dismissed as engineering.\n3. Apply the dominant recipe — masked prediction, autoregressive generation, or contrastive alignment — unchanged across every modality through this interface, holding the architecture uniform and removing modality-specific heads. The claim to defend is that the recipe transfers wholesale. Resist re-introducing bespoke per-modality components, which collapse the system back into the loosely-coupled pipeline you set out to replace.\n4. Run controlled ablations that separate the interface's contribution from the raw strength of the borrowed backbone, and include the naive baseline a skeptic will demand — concatenating the auxiliary context into a prompt, querying with labels only, or training the two modalities as separate models. If you cannot show the gain comes from your unification rather than from mere information access or a stronger pretrained component, the central claim is unsupported regardless of headline numbers.\n5. Demonstrate a capability the bespoke pipelines were structurally incapable of producing — zero-shot transfer to unseen categories, open-vocabulary querying, or cross-task generalization from one model — and verify it matches or beats purpose-built specialists on the core task, not merely that it exists. Breadth does not excuse a quality gap: a unified model that lags specialists on the primary metric forfeits the unification argument.\n\n## Differentiation within parent\n\nSingleton under parent methodology — no sibling clusters exist.\n\n## When to pick this one\n\nPick this instantiation when your target modality lacks the exact substrate a proven recipe depends on — no discrete vocabulary, no fixed-rate sequence, or a representation space incompatible with a mature pretrained model — so the leverage is manufacturing that substrate (a tokenizer, serializer, or projection bridge) rather than inventing a new objective. It fits especially when a dominant recipe from an adjacent, more mature modality is sitting unused next to a field still building one-off pipelines.\n\n## Tactical failure mode\n\nPapers attempting this tactic fail most often when the interface is mechanically borrowed rather than earned: an off-the-shelf encoder is swapped in, or a now-standard bridge (adapter, soft-prompt, cross-modal query module) is wired up, and reviewers attribute the entire gain to the pretrained component because no ablation isolates the interface's own contribution. A closely related shape is the missing skeptic's baseline — the authors never show that naive concatenation, label-only querying, or two separate models would not have matched the result, leaving the cross-modal signal unproven and the 'it already encodes X' narrative indistinguishable from 'a stronger backbone yields richer features.' A third shape is the lossy or ill-grounded interface: treating volumetric input as independent 2D slices, fusing only at the tokenization layer, or training on machine-generated circular labels, so the unification is superficial. Finally, the unified model underperforms purpose-built specialists on the core task, and the authors lean on breadth or convenience to excuse a quality gap reviewers read as the method simply not working. Self-check: can you prove by ablation that the gain is your interface and not the backbone, and that your one model beats — not merely covers — the specialists it claims to subsume?\n\n## Examples\n### Oral lessons\n- Converting an ill-posed continuous reconstruction target into a well-posed categorical prediction over a learned codebook is what lets a borrowed masked-prediction recipe transfer to a vocabulary-free modality.\n- A frozen pretrained model's representation space can serve as a universal medium for a foreign modality if you train only a lightweight bridge that maps into it, leaving both backbones untouched and the training cost negligible.\n- Serializing a structured or continuous signal into the surface form of a mature modality — strings, rank-sorted names, rendered pixels — lets an existing pretrained model ingest it with zero architectural change.\n- Discretizing a continuous modality into a shared token vocabulary lets one autoregressive model treat it as 'a foreign language,' unlocking multi-task prompting and cross-task transfer for free.\n- When two integrated components have mismatched capacity, scaling the historically-underscaled one yields disproportionate system gains because it, not the dominant component, is the active bottleneck.\n- A single shared model can carry heterogeneous loss functions simultaneously — autoregressive for discrete elements, denoising for continuous ones — with interaction patterns chosen per data-type rather than per architecture, avoiding lossy quantization.\n\n### Reject lessons\n- Swapping in an off-the-shelf pretrained encoder or a now-standard bridge module reads as plug-and-play engineering unless a controlled ablation isolates the gain from the borrowed component.\n- Omitting the naive baseline — concatenating context into the prompt, querying with labels only, or training modalities separately — leaves reviewers unable to attribute the gain to your interface rather than to raw information access.\n- Validating the interface on a single backbone or one narrow setting invites rejection on applicability grounds, since the unification claim implies generality.\n- A unified model that underperforms purpose-built specialists on the core task forfeits its central premise; breadth and convenience do not excuse a quality gap against SOTA.\n- An interface that is lossy or ill-grounded — collapsing volumetric input to independent slices, fusing only at the tokenization layer, or training on machine-generated circular labels — undermines the unification before any result can land.\n- Reframing a known capability as a discovery ('the pretrained model already encodes signal X') fails when the simpler explanation, that a stronger backbone yields richer features, is not ruled out by a targeted ablation.\n\n_(cluster size: 82 papers)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C19.md", "sha256": "80f960607eadbb4c61eb9e8c9b7394e76d36b568700fdcc73b53ea9cc7ac6cce", "text": "# C19\n_parent: **Audit and Pivot an Assumption** (`assumption_audit_and_pivot`)_\n\n## Tactical pattern\n\nAcross this cluster the pivot lands on the regularity, independence, or boundedness condition that a *statistical certificate* imports for convenience — PAC-Bayes and information-theoretic generalization bounds, regret bounds, sample/query complexity results, and self-normalized tail inequalities. The recurring move is to ask what that condition was actually buying inside the proof, then substitute a strictly weaker sufficient property that still closes the machinery: smooth dampening that controls a correction term's moment-generating function in place of a hard truncation cap, one-sided boundedness in place of full independence, a certifiable functional-concentration property in place of matching a single fixed reference distribution, or variance-isolated adaptive querying in place of a global geometric-spread parameter. Authors then re-derive the certificate so it is either valid in a regime the old assumption excluded (dependent samples, a broad distribution class, zero or near-zero noise, loss of global regularity) or strictly tighter in its leading term. A frequent sub-tactic is to swap a hard structural object for a soft implicit control, or to isolate the true mechanism the discarded assumption was only crudely proxying — for instance, treating path-pooling rather than recursion as the actual source of variance reduction. The objects manipulated are always proof-internal quantities of a probabilistic guarantee, not architectures or algorithmic decompositions.\n\n## Step-by-Step\n\n1. Locate the convenience assumption inside an existing certificate. Within a generalization, regret, sample-complexity, or tail bound, find the specific structural condition the proof imports purely for tractability — uniform boundedness, independent draws, a single fixed reference object, global smoothness of the target, or a parameter assumed away as negligible. The assumption must be one that real settings genuinely violate or that visibly inflates the bound; if relaxing it changes nothing operationally, the contribution will read as cosmetic.\n2. Determine the minimal property the assumption was actually buying. Trace where in the bounding argument the condition is consumed and ask what control it supplies, then name the strictly weaker sufficient property that delivers the same control — e.g., a soft operator that implicitly bounds a moment-generating function instead of a hard cap, a one-sided boundedness condition instead of full independence, or a certifiable concentration property instead of distribution matching. The weaker condition must be one your construction provably satisfies, not merely posited or assumed of the data.\n3. Re-derive the certificate under the weaker condition and route every downstream result through it. Show that the new guarantee either extends to a regime the old assumption excluded or strictly tightens the leading term, and confirm the relaxed quantity — not an incidental change — is what drives the gain. Critically, the bound must remain non-vacuous in the very regime that motivated the relaxation; a certificate that diverges or goes trivial exactly where it is now claimed to apply is self-defeating.\n4. Establish that the move overcomes a genuine obstacle and credit what it supersedes. Situate the new bound against the precise prior results it relaxes and articulate why the lift was non-trivial. A relaxation the field reads as a mechanical application of a known argument, with no novel barrier named and broken, will be judged incremental no matter how clean; over-claiming relative to existing inequalities while under-crediting precedent invites reviewers to discount the whole contribution.\n5. Instantiate on a concrete procedure and stress-test in the targeted regime. Demonstrate the certificate where the original assumption failed (small or zero noise, dependent sampling, near-singularity, a broad distribution family), and compare head-to-head against the baseline certificates being relaxed with sensitivity analysis on the new parameters. Avoid hinging the guarantee on a quantity that cannot be computed in the setting of interest, and avoid single-domain validation that leaves the claimed generality and relative tightness unestablished.\n\n## Differentiation within parent\n\nThis cluster is the relax-and-re-prove-a-statistical-bound branch of the parent: it weakens a regularity/independence/boundedness condition embedded inside a probabilistic certificate and re-derives the guarantee, never constructing a counterexample or exploit on the violate side. Its nearest sibling is cluster 11, which also tightens probabilistic bounds, but cluster 11 works by re-modeling an accounting/composition mechanism for repeated resource-bounded trials over a shared sensitive pool — it reframes how costs accumulate rather than identifying a weaker sufficient condition for an assumption a bound rests on. Cluster 5, by contrast, establishes exact algebraic equivalences between two model formulations via reparameterization, a duality move with no assumption being relaxed at all, and cluster 29 proves a new structural property of an operator rather than weakening a precondition of a known result. The distinguishing signature here is that the pivoted object is a proof-internal assumption of a concentration/generalization/regret/query-complexity statement, and the payoff is either regime-extension or a strictly smaller leading term.\n\n## When to pick this one\n\nPick this instantiation when the load-bearing assumption sits inside a probabilistic guarantee — a concentration, generalization, regret, or sample-complexity bound — and is a regularity, independence, boundedness, or single-distribution condition the proof imported for convenience that a weaker sufficient property can still close. Choose a sibling instead if you are reframing how a resource cost accumulates, establishing an equivalence between formulations, or proving a new operator property rather than slackening a precondition.\n\n## Tactical failure mode\n\nThe dominant failure across this cluster's rejects is a relaxation whose payoff evaporates exactly where it is claimed: the re-derived certificate diverges or turns vacuous precisely in the regime that motivated dropping the assumption, so the bound is self-defeating as analysis where it must matter. A second recurring shape is the routine-lift trap — extending a known inequality from IID to dependent samples (or similar) via standard blocking/coupling arguments without naming and overcoming a genuinely novel obstacle, which reviewers read as incremental even when no review is outright negative. A third shape is hinging the guarantee on a quantity that cannot be estimated in the target setting (e.g., a mixing time or a norm that blows up), so the theoretical gain never transfers to the practical claim. These are frequently compounded by overclaiming novelty while under-crediting the prior bounds being relaxed, and by leaving the relative tightness unassessable — no head-to-head baseline-certificate comparison, no sensitivity analysis on the new parameters, and narrow single-domain validation. A candidate author should self-check that the relaxed bound stays non-vacuous in the motivating regime, overcomes a stated barrier rather than mechanically reapplying a template, depends only on computable quantities, and is benchmarked against the exact results it supersedes.\n\n## Examples\n### Oral lessons\n- Replacing a hard structural cap with a smooth operator can implicitly control the very tail quantity the cap was enforcing, letting the bound close without the boundedness assumption at all.\n- Full independence is often more than a concentration proof actually needs; a strictly weaker one-sided condition your construction provably satisfies can extend the same guarantee to correlated draws.\n- When a bound looks loose, the slack may live in a single term's dependence on a parameter everyone treated as fixed (such as the noise floor); isolating that dependence is what closes the optimality gap.\n- Recasting an analytic property like termination or convergence as a statistical generalization target sidesteps the obstacles — infinite limits, induction over steps — that block the classical structural proof.\n- A parameter long believed structurally necessary in a leading complexity term can sometimes be eliminated outright by allocating effort adaptively where variance is high rather than querying uniformly.\n- Certifying membership in an entire distribution class through an efficient proof system, instead of matching one reference distribution, upgrades a single-distribution guarantee into a class-wide one without tailoring to any target.\n\n### Reject lessons\n- A certificate that goes vacuous or diverges exactly in the regime it was built for is self-defeating; verify non-vacuity where the result must hold, not merely where it is convenient to prove.\n- A relaxation the field reads as a mechanical lift of a known argument will be judged incremental unless a genuinely novel obstacle is named and overcome, even when no reviewer is negative.\n- If the guarantee depends on a quantity that cannot be estimated in the target setting, the theoretical improvement does not transfer to the practical claim the paper makes.\n- Tightening claims are unassessable without head-to-head comparison against the prior certificates being relaxed plus sensitivity analysis on the new parameters; absent these, relative improvement cannot be judged.\n- Overclaiming novelty while under-crediting the inequalities being extended invites reviewers to surface the precedent and discount the contribution, especially where the only new content is a delicate technical step done sloppily.\n\n_(cluster size: 13 papers)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C20.md", "sha256": "44b744d5822c8c662171e2f9607e78f0dd57246938254a22354e05386841c63f", "text": "# C20\n_parent: **Encode Structure by Construction** (`structural_prior_encoding`)_\n\n## Tactical pattern\n\nThis cluster treats the forward corruption/degradation process itself as the structure to encode: authors prescribe an explicit law that maps the clean target to the observed signal — a noising or mean-reverting stochastic process, a masking schedule, a physics-based formation model, or an orthogonal transform that isolates the artifact in one component — and then construct the recovery or generation operator as the principled reverse of that prescribed law. A single learnable estimator (a score/log-density-gradient network, a denoiser, a reconstruction target, or a component-wise corrector) is trained to fill in only what the forward law leaves underdetermined, so the inverse is obtained by construction rather than as a black-box corrupt→clean regression. The recurring objects are forward processes, reverse-time dynamics, decomposition components, and corruption priors; the recurring verbs are prescribe, reverse, decompose, anchor-at-observation, and reconstruct-from-multiple-views. The highest-yield variants reformulate the forward law so that the reverse unlocks otherwise-inaccessible capabilities — continuous-time integration schemes, closed-form marginals, exact likelihood, or low-variance observation-anchored initialization — instead of merely re-skinning a generic restorer.\n\n## Step-by-Step\n\n1. Write down the forward corruption/degradation/generation process as an explicit prescribed law — a noising kernel, a stochastic evolution, a physical formation model, or a transform that separates the quantity of interest from the artifact. The law must name a non-trivial structure of how clean becomes observed; if you can only train a generic encoder-decoder on corrupt→clean pairs, you have encoded no prior and the move silently degenerates into ordinary supervised regression that ablations expose as unremarkable.\n2. Empirically verify the corruption actually lives where you claim before building on it. Isolate the structural component or quantity carrying the degradation (swap or ablate that component across clean and corrupted instances, measure its sensitivity), so the prior rests on a demonstrated equivalence rather than an assertion; an unvalidated 'this component carries the corruption' claim is confoundable and will not survive review.\n3. Construct the recovery or generation operator as the principled reverse of the prescribed forward law, so that a single learnable estimator fully specifies the inverse (a reverse-time process from the forward dynamics, an energy-gradient direction, or a component-wise correction). Prefer a reformulation whose reverse unlocks capabilities that were structurally impossible under the original framing — a continuous toolkit, closed-form marginals, exact density, or new sampling schemes — rather than one that only relabels an existing pipeline.\n4. Anchor the process to the actual observation wherever possible: set the endpoint, equilibrium, or initialization to the corrupted observation, or aggregate complementary information across multiple corrupted views, instead of inheriting an uninformative reference state wholesale. This keeps the reverse process low-variance and faithful to structure; declining to let the corruption itself anchor the process forfeits the main advantage of having modeled it.\n5. Demonstrate the encoded structure — not the backbone — is load-bearing. Ablate the prior against an equal-capacity baseline, test every claimed generality (plug-in, universal, attack-agnostic) across more than one base model, dataset, or corruption type, and report fidelity gains attributable specifically to the reformulation; if improvements cannot be separated from a powerful pretrained backbone or the breadth claim is tested on a single instance, reviewers will credit capacity, not the prior.\n\n## Differentiation within parent\n\nUnlike sibling cluster 16, which encodes invariance to a transformation group by averaging a base procedure over a small representative frame so a symmetry property holds by construction, this cluster encodes the forward corruption trajectory and builds the reverse of it — the prior here is a degradation/generation dynamics, not a static group action to be respected. It also differs from sibling cluster 13, which encodes relational topology by repurposing learned pairwise interaction weights as link-likelihood scores: cluster 13's structure is a graph over co-existing entities, whereas this cluster's structure is a temporal/generative map between a clean state and its corrupted observation. The distinguishing object is therefore a prescribed forward process — noising, masking, physical degradation, or an artifact-isolating transform — whose inverse becomes the model, rather than a symmetry to enforce or a relational graph to infer.\n\n## When to pick this one\n\nPick this cluster when the structure you can actually write down is a forward corruption/degradation/generation process — you can state, physically model, or decompose how a clean signal becomes the observed one — so recovery or generation can be constructed as its reverse. If instead the known structure is an invariance to a transformation group or a relational graph among co-existing entities, a sibling cluster is the better instantiation.\n\n## Tactical failure mode\n\nPapers attempting this tactic fail when the corruption-structure prior is asserted but never isolated as the actual source of gains. The recurring shape takes three forms: the \"structure\" is really a generic architecture or a powerful pretrained backbone doing the work, so same-capacity ablations cannot attribute any improvement to the prior; or the structural reformulation is theoretically clean — an equivalence proof, a physical decomposition — but the empirical delta over the base method is marginal while the advertised generality (plug-in, universal, attack-agnostic) is demonstrated on a single backbone or dataset; or the physical/derivational grounding is presented without rigor and with missing baselines, missing citations, or undersized evaluation. The common defect is that the encoded forward process is never shown to be load-bearing relative to capacity. A candidate author should self-check: can you ablate the prior against an equal-capacity model, isolate its contribution from the backbone, and confirm the claimed breadth on more than one model, dataset, or corruption type?\n\n## Examples\n### Oral lessons\n- Lifting a discrete corruption ladder to a continuous-time forward law unlocks a whole mathematical toolkit — numerical integration schemes and exact likelihood — that was structurally inaccessible in the discrete framing, making the continuous limit operationally enabling rather than merely elegant.\n- A long-understood classical decomposition can cleanly partition the quantity of interest from the corrupting artifact into independently correctable components, so the separation is achieved with no new theoretical machinery at all.\n- Empirically prove the corruption lives in one structural component — for instance by swapping that component between clean and corrupted instances — before promoting it from a computational convenience into a built-in, reusable prior.\n- When clean references are unavailable, reframe a set of corrupted observations as a distribution to match rather than elements to align, so a correspondence-free loss recovers clean structure without any registration or paired targets.\n- When corruption severs non-local structure that surviving local context cannot recover, reconstruct the target by aggregating complementary information across multiple corrupted views instead of relying on a single corrupted instance.\n- A corruption-and-reconstruction generative factorization can replace a default ordered factorization and remove its structural limitations while matching performance at scale, revealing that emergent properties come from the objective and model family, not the processing order.\n\n### Reject lessons\n- Claiming an architecture carries a domain-matched structural prior while shipping a generic off-the-shelf encoder-decoder collapses the move into ordinary supervised denoising that ablations and weak-baseline comparisons quickly expose.\n- An elegant equivalence proof (corruption-recovery equals descent on an energy landscape) earns nothing when the empirical gain over the base method is marginal and the advertised plug-in generality is shown on only a single backbone.\n- Deriving partition labels from a first-principles physical model is undercut when the derivations lack rigor, baselines and ablations are missing, and citation hygiene fails.\n- If the structural signal you minimize rides on a powerful pretrained backbone, failing to isolate the prior's contribution from sheer backbone capacity leaves reviewers unable to credit the idea and unconvinced by the motivation for the chosen backbone.\n\n_(cluster size: 16 papers)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C21.md", "sha256": "5f37f2da95b53bfc32fa8a257293cbf549dc1959a45e933949e04bad4b65e89f", "text": "# C21\n_parent: **Reframe as a Solvable Object** (`reframe_as_solvable_object`)_\n\n## Tactical pattern\n\nThis cluster recasts reinforcement-learning and sequential-control problems — which natively require reward signals, action labels, or expert demonstrations — as supervised or generative-sequence-modeling problems by manufacturing the absent supervision from interaction data that already exists. The concrete moves are: retrospectively relabel each collected trajectory's target to the outcome it actually achieved (turning suboptimal traces into optimal demonstrations for pure distribution matching); discretize continuous observations or actions into a token vocabulary and forecast them autoregressively as a sequence; and pre-train a frozen generative world model or behavioral prior on cheap unlabeled/task-agnostic interaction, then route downstream control through it. When labels are entirely absent, the missing reward/action component is itself replaced by a self-supervised proxy — future reachability, multi-step inverse dynamics, latent behavioral modes, or a low-capacity causal bottleneck that recovers a latent action space from consecutive states. The payoff is that mature supervised/generative machinery (transformers, normalizing flows, VQ encoders, maximum-likelihood estimation) applies directly, eliminating online optimization, reward design, or the need for gold-standard demonstrations.\n\n## Step-by-Step\n\n1. Identify which supervision component the native formulation silently assumes but cannot obtain — optimal demonstrations, dense reward labels, or ground-truth action annotations — and reframe the bottleneck as a missing-supervision problem rather than an architecture or loss-function problem. The whole tactic hinges on locating the absent ingredient precisely, because the recast will be built around fabricating exactly that ingredient.\n2. Choose a target object class whose mature solvers do NOT need the missing component: supervised likelihood / distribution matching, autoregressive sequence prediction, or an invertible generative prior. Prefer an object whose machinery is self-contained and battle-tested in adjacent fields, so the contribution is the reframing plus the substitution, not the invention of a new solver.\n3. Manufacture the missing supervision from data that already exists: retrospectively relabel each achieved outcome as its own optimal target, derive a self-supervised proxy signal (future reachability, inverse dynamics, latent mode), or pre-train a frozen generative prior/world model on cheap unlabeled or task-agnostic interaction. Make the substituted signal load-bearing and faithful — avoid exact-algebraic equivalences that hold only under brittle assumptions, since a substitution that is only approximately valid forfeits the guarantees the recast was meant to import.\n4. Make the recast tractable by compressing the continuous, high-dimensional native space into the object's natural representation — tokenize observations/actions into a discrete vocabulary, quantize the latent goal space into a prototype set — and verify the compression preserves the modes and diversity the native problem requires. Collapse to a single behavioral mode (unimodal imitation) is the diagnostic that the compression destroyed what the recast needed to capture.\n5. Demonstrate that the recast unlocks a capability the native formulation lacked, at a scale that pre-empts the 'analysis-only' and 'toy-only' critiques: post a clear empirical win over native-formulation baselines on non-trivial benchmarks, ablate that the gain comes from the manufactured-supervision move rather than incidental architecture, and explain any boundary behavior rather than leaving an unexplained degradation that undercuts the generalization claim.\n\n## Differentiation within parent\n\nThe solvable object this cluster reaches for is supervised learning or autoregressive generative modeling, and its signature sub-move is fabricating the supervision the native problem lacks — relabeling achieved outcomes as targets, or substituting reward/action labels with self-supervised proxies. Contrast cluster 27, which recasts the problem as a differentiable multi-agent game whose Nash equilibrium coincides with the desired ranked decomposition: that cluster engineers competing local objectives and reads off an equilibrium, never manufacturing missing labels and never invoking generative/supervised solvers. Contrast also cluster 0, which keeps the decision-scoring frame intact and enriches it with interpretable cumulative sub-objective predictors embedded directly in the scoring computation, rather than wholesale converting the control problem into generative-sequence training. Cluster 21 is the one where 'no rewards / no action labels / no demos' is converted into 'self-generated labels,' and the recast target is a generative or supervised learner that existing machinery can solve off the shelf.\n\n## When to pick this one\n\nPick this instantiation when the sequential-decision problem is blocked specifically by absent supervision — no reward signal, no action annotations, or no optimal demonstrations — yet abundant unlabeled or task-agnostic interaction data is available to manufacture targets from. If instead the blocker is competitive or allocation structure (favoring a game/equilibrium recast) or an opaque scoring computation that needs interpretable predictors, a different sibling fits better.\n\n## Tactical failure mode\n\nPapers attempting this recast fail when the reframe does not actually unlock a capability the native formulation lacked at a credible scale. One recurring shape: the recast is deployed as a descriptive evaluation or analysis lens — for instance relabeling objectives post-hoc to score collected data — but the accompanying method posts no clear empirical win, so reviewers read it as a benchmark study rather than a contribution. A second shape: the substitution of the missing component rests on a brittle exact assumption, such as the target objective being an exact algebraic combination of source objectives, whose solving machinery does not scale and whose formal guarantees evaporate the moment the assumption holds only approximately. A third shape: the recast is validated only on toy environments and an unexplained boundary behavior — performance degrading past a certain horizon or context length — directly undercuts the generalization claim the reframe was supposed to deliver. Self-check: can you show the manufactured-supervision object beating native-formulation baselines on a non-trivial benchmark, with the gain attributed to the recast and any boundary behavior explained, rather than offering observations or toy-scale wins?\n\n## Examples\n### Oral lessons\n- Retrospectively reassigning each trajectory's target to the outcome it actually reached turns every suboptimal trace into a valid optimal demonstration, collapsing a two-stage estimate-then-improve loop into a single supervised distribution-matching fit.\n- Discretizing a continuous output space into a token vocabulary lets a standard autoregressive sequence model represent multi-modal behavior that continuous regression would collapse into a single averaged mode.\n- The pre-trained artifact should capture the input-to-output (action) distribution, not just input representations, because in sequential decision problems it is the output space — not the observation space — that governs downstream difficulty.\n- An invertible, bijective generative prior can reparameterize the action space so that every original action stays reachable, biasing search toward useful outputs without amputating coverage.\n- Absent reward or action labels can be replaced by self-supervised proxies — future reachability, multi-step inverse dynamics, or latent behavioral modes — that still preserve valid recursive/bootstrapped updates, so unlabeled sequences become decision-quality training data.\n- A low-capacity causal bottleneck trained jointly with a next-state predictor forces all steering information through a recovered latent control variable, reconstructing an action space from purely unlabeled interaction.\n\n### Reject lessons\n- A reframe used only as an evaluation or analysis lens, without a method that posts a clear win, reads as a descriptive benchmark and falls below the novelty bar even when the framing is reusable.\n- A recast resting on an exact algebraic equivalence (target = exact polynomial of sources) inherits brittle, non-scaling machinery, and its formal guarantees collapse the moment the equivalence is only approximate.\n- Validating the recast only on toy environments, with an unexplained boundary failure such as performance degrading past a certain context or horizon length, directly undercuts the generalization claim the reframe was meant to establish.\n\n_(cluster size: 16 papers)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C22.md", "sha256": "094fa0747a14ae5f706575ad7be75604d7ccd307420e39ad22c79bc870c5a17c", "text": "# C22\n_parent: **Relax Discrete Search to Continuous** (`relax_discrete_search_to_continuous`)_\n\n## Tactical pattern\n\nThe shared move is to reify a previously hand-engineered design artifact — a network architecture, a training objective, a fine-tuning recipe, an agent/workflow topology, a skill set, or an adaptation strategy — as a first-class search variable inside a single unified, shared-parameter configuration space, then collapse the conventional search-then-retrain hierarchy. Concretely: encode the heterogeneous discrete variants into one parameterization (computation graph, hierarchical genome, weight-sharing supernet, executable-code representation, typed symbolic program, or continuous mask variables), share parameters/weights across all candidates so structure and weights co-optimize in one pass, and frequently make the chosen configuration instance- or context-conditioned (a routing function or learned distribution over configs) rather than a single global point solution. The verbs are \"encode-into-one-parameterization, share-weights-across-candidates, jointly-optimize-topology-with-task-loss, condition-config-on-instance\" — not merely \"relax and optimize.\" The differentiator from the parent's generic signature is the target (a thing humans used to design by hand) plus the unification artifact that subsumes the discrete variants.\n\n## Step-by-Step\n\n1. Name the hand-engineered artifact the field currently treats as fixed scaffolding — the architecture, the objective, the inter-module wiring, the adaptation recipe — and declare it a search variable rather than a designer's prerogative. The reframe itself is part of the contribution (e.g., recasting an undesired output property as an architectural property, or treating fine-tuning placement as searchable). Boundary: if the field already searches this exact artifact with a standard reduction, the act of searching is not novel; you must bring a representational or hierarchy-collapsing insight, not just a new target.\n2. Construct a single unified parameterization that subsumes the discrete variants — a graph, genome, weight-sharing supernet, executable-code representation, or symbolic program — chosen so the space is simultaneously expressive (it contains configurations meaningfully different from known ones) and well-conditioned (candidates instantiate stably without numerical pathology). Ground the encoding in a unifying formulation or theory of the component family where possible. Boundary: an ad-hoc combinatorial grid that merely enumerates component swaps reads as 'a known search technique on a new target' and invites a novelty rejection.\n3. Collapse the nested search-then-train loop into one joint optimization: share weights across candidates, embed structural decisions as differentiable masks or as early-sequence decisions in a single trajectory, or amortize the search entirely through a learned instance-to-configuration predictor or generator. The goal is that a single pass replaces per-candidate retraining or independent performance estimators. Boundary: when weight-sharing couples configuration choice to a context that changes what each candidate must compute, naive sharing produces a biased surrogate — partition or condition the estimator so performance prediction reflects the right context.\n4. Where instance heterogeneity is the real lever, make the configuration instance- or context-conditioned: learn a distribution or routing function over configurations and defer or adapt the final choice at deployment, rather than committing to one global optimum. Boundary: a one-size-fits-all point solution leaves the efficiency and adaptivity gains unrealized and reads as incremental; conversely, per-instance from-scratch search reintroduces the very cost the amortization was meant to remove.\n5. Validate with evidence a reviewer cannot reduce to engineering: rediscover a known solution inside the search space as a sanity check, beat strong hand-designed baselines across diverse benchmarks, or surface an emergent/surprising configuration — and position explicitly against the closest amortization, transfer, and compression neighbors. Boundary: single-run numbers, toy-scale settings, efficiency claimed only on a weak proxy, or a missing comparison to the nearest established alternative collapses the whole contribution back to 'we automated X.'\n\n## Differentiation within parent\n\nSingleton under parent methodology — no sibling clusters exist.\n\n## When to pick this one\n\nInstantiate the parent as this cluster when the discrete object you want to search is itself a previously hand-engineered design decision (an architecture, objective, recipe, or topology) and many such configurations can plausibly share one parameterization or be predicted from the instance — i.e., the bottleneck is repeated manual design plus per-candidate retraining, not a single one-off combinatorial solve.\n\n## Tactical failure mode\n\nReject papers here typically execute the reification move correctly — they do turn a hand-designed artifact into a searchable space — but reach for an off-the-shelf search apparatus (DAG traversal, MDP plus dynamic programming, RL over a combinatorial action set, or supervised regression from instance to configuration), so the work reads as a known technique pointed at a new target rather than a representational insight. The contribution collapses to the act of searching or automating, with no unification or hierarchy-collapse that was previously impossible; reviewers call this brute-force or incremental. Compounding this, validation is thin: single-run results, toy-scale benchmarks, efficiency reported on one weak proxy (e.g., parameter count where it is known to mislead), and — most damaging — no positioning against the closely adjacent amortization, transfer, or compression literature, so the practical advantage over established neighbors is never demonstrated. The structural self-check: if deleting your custom representation leaves a textbook search loop any practitioner would write, and your benchmarks are small with a single seed and no nearest-neighbor comparison, you are in this failure shape.\n\n## Examples\n### Oral lessons\n- Encoding the searched object as a typed symbolic program buys interpretability, warm-starting from known solutions, and cross-domain transfer at once — and rediscovering an established solution inside your own search space is the most disarming validation possible.\n- Inverting the search direction — growing structure from a minimal seed instead of pruning an over-parameterized supernet — can make the search itself cheaper than a single instance of the thing being searched.\n- Collapsing a nested design-then-evaluate hierarchy into early-sequence decisions within one optimization trajectory lets a single gradient update improve both the structure and how it is used, eliminating the need for per-candidate performance estimators.\n- Grounding the search-space encoding in a unifying mathematical theory of the component family is what simultaneously keeps candidates numerically stable and the space genuinely expressive; an ad-hoc combinatorial space delivers neither.\n- Treat instance heterogeneity as the primary lever rather than noise: learn a distribution or routing function over configurations and defer the final choice to deployment instead of searching for one global point solution.\n- Reframing an undesired property the field blamed on the data as a property of the architecture converts a saturated remediation problem into an open search problem with Pareto-dominant solutions.\n\n### Reject lessons\n- If deleting your custom representation leaves a textbook search loop (DAG traversal, MDP plus dynamic programming, RL over an action set), reviewers will score the contribution as a known technique applied to a new target.\n- Automating or searching a design artifact is not by itself a contribution; absent a representational or hierarchy-collapsing insight, the work reads as brute-force even when it works.\n- Single-run results on toy-scale benchmarks let reviewers dismiss genuine gains as unverified — multi-seed, at-scale validation is the price of entry at a top venue.\n- Failing to position against the closest amortization, transfer, and compression neighbors leaves the practical advantage unproven, which is fatal even when the core idea is novel.\n- Claiming efficiency on a single proxy invites rejection when that proxy is known to be poor for the target structure; report the metric that actually binds, such as FLOPs, latency, or peak memory.\n- Incremental modifications over a prior search method fail the novelty bar when they amount to hyperparameter changes describable in a few lines, regardless of competitive numbers.\n\n_(cluster size: 35 papers)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C23.md", "sha256": "d301755650014fa6d6df8c14faadbdc32aea4952c2bca76e209981495682f455", "text": "# C23\n_parent: **Liberate a Fixed Generative Component** (`generative_process_redesign`)_\n\n## Tactical pattern\n\nReach inside an iterative refinement (diffusion/flow) chain and re-specify one of its conventionally-frozen internal components, then re-derive the chain around the new choice. The objects swapped are concrete: the terminal prior/endpoint (replace isotropic noise with a structured task-adjacent reference bridged by incremental residual transfer), the per-step distribution family (replace the unimodal Gaussian with an adversarial or otherwise expressive multimodal conditional), the noise/solver discretization (choose step sizes and schedule to maximize a likelihood bound), the initial seed (backprop through the frozen chain to optimize it as the sole control variable), the forward noising process (a structure-aware random walk whose convergence theory sets the schedule), or the point along the schedule where the conditioning signal is injected. The swap is licensed by a structural property of the task — small target-reference residual, sequential correlation of outputs, algebraic/geometric structure of the output space, or the seed deterministically fixing the output — rather than by mere \"we can vary it.\" The payoff is almost always collapsing hundreds of steps into a handful, or retargeting a pretrained procedure toward control, distributional sampling, or posterior inference without retraining its backbone.\n\n## Step-by-Step\n\n1. Locate a component of the iterative chain that everyone inherits as a fixed default — the terminal prior, the per-step distribution family, the noise/solver schedule, the initial seed, the forward noising kernel, or the point where conditioning is injected — and state precisely why it was fixed (a tractability convenience or an infinitesimal-step-limit assumption, not an actual task constraint). Naming the original justification is what lets you argue it is removable.\n2. Identify a structural property of YOUR task that makes the default wasteful or suboptimal: the reference output is informationally adjacent to the target, consecutive outputs correlate, the output space carries algebraic or geometric structure, or the seed deterministically fixes the output. The redesign must be licensed by this property — a swap motivated only by 'this variable can be changed,' with no task-structural reason, reads as arbitrary recombination and is the first thing reviewers discount.\n3. Re-derive the chain around the new component choice and produce the load-bearing object — a residual-transfer transition operator, an expressive reverse family, a likelihood-maximizing solver, an inductive distributional-consistency constraint — together with an argument that the redesigned chain still targets the correct distribution. A local heuristic substitution with no derivation showing it does something the prior object provably could not is the most common rejection shape.\n4. Benchmark the gain against the STRONGEST existing method that already attacks the same bottleneck — few-step distillation, consistency models, fast solvers — not merely against the un-accelerated chain. Beating only the naive baseline, or omitting the dominant accelerator entirely, is fatal even when the redesign is sound, because the move then looks dominated rather than enabling.\n5. Account for every extra artifact or assumption your redesign smuggles in — a separately trained auxiliary network, access to a simulator or dynamics model, added training cost — and show the net gain survives it. A hidden dependency that the claimed efficiency silently relies on collapses the contribution once a reviewer surfaces it, so audit your own pipeline for it before submission.\n\n## Differentiation within parent\n\nThis cluster reaches INSIDE the refinement mechanism and treats its internal degrees of freedom — prior/endpoint, per-step distribution, schedule/solver, seed, forward kernel, conditioning checkpoint — as the free design variables, almost always to chase inference efficiency or training-free retargeting while the output domain stays fixed. That is distinct from cluster 24, which ports the refinement mechanism wholesale to a NEW output domain (direct high-resolution sequential synthesis): there the chain is a transplantable black box adapted to a new data type, whereas here the data type is held constant and the chain's guts are the object of redesign. It is also distinct from cluster 15, which repurposes a pretrained generative model as an external implicit-supervision source for recovering hidden structure in a downstream inference task; cluster 15 uses the model as a tool, while cluster 23 re-engineers the generative procedure's own internal mechanics.\n\n## When to pick this one\n\nPick this cluster when the bottleneck is the cost or rigidity of the refinement chain itself — too many sampling steps, an uninformative starting point that wastes most of the trajectory, or a need for training-free control/conditioning over a frozen backbone — and you can point to a structural property of your task that lets you re-specify one internal component (prior, schedule, seed, per-step distribution, or conditioning point) rather than retrain or re-domain the procedure.\n\n## Tactical failure mode\n\nThe recurring failure is treating \"I re-specified component X\" as self-evident novelty: a single local swap is made (a context-derived starting distribution, one x0-approximation traded for another, a seed reparameterization) that is locally reasonable but neither re-derives the chain nor demonstrates a regime the dominant accelerated alternative cannot already reach. These attempts consistently fail to beat — or even compare against — the strongest existing fast-sampling method (consistency models, distillation, fast solvers), so the contribution reads as dominated rather than enabling. A second shape is the hidden artifact: the claimed efficiency silently leans on an extra resource (access to a dynamics model or simulator, a separately trained auxiliary network) whose cost cancels the advertised gain. A third is the absent load-bearing justification — no theoretical statement, no failure-regime analysis — leaving the redesign indistinguishable from recombining known parts. Self-check: if your only claim is that component X was previously fixed and you varied it, and you cannot name a concrete regime where the dominant accelerator fails but your redesign succeeds, you are in this failure mode.\n\n## Examples\n### Oral lessons\n- The terminal prior of a refinement chain is a free design variable — anchoring it at a structured, task-adjacent reference rather than pure noise geometrically shortens the trajectory and cuts the step count by an order of magnitude.\n- The per-step unimodal distribution is only valid in the infinitesimal-step limit; replacing it with an expressive multimodal conditional lets the chain take large steps and reach few-step inference without sacrificing coverage.\n- Because the initial seed deterministically determines the output under a frozen procedure, optimizing the seed alone via backprop through the whole chain yields fine-grained, training-free control across heterogeneous objectives.\n- A pretrained deterministic regressor already meets the structural requirements of an interpolation-based sampler, so fine-tuning it inside a refinement loop converts a point-estimator into a distributional generator without architectural redesign.\n- Borrowing convergence theory from a well-characterized stochastic process to set the forward noising kernel and step count turns schedule design from tuning into a derived quantity.\n- Where the conditioning signal is evaluated along the schedule is itself a tunable variable — relocating it to a lower-perturbation checkpoint cuts the conditioning-approximation error with no retraining of the base procedure.\n\n### Reject lessons\n- Re-specifying the chain's starting distribution is sound but worthless if a dominant accelerator already reaches one or two steps — failing to beat the strongest fast-sampling alternative dooms the move regardless of its elegance.\n- Substituting one in-support approximation for another without theoretical depth or a failure-regime analysis reads as a narrow heuristic swap rather than a contribution.\n- A redesign that silently depends on an extra artifact — access to a simulator/dynamics model, or a separately trained auxiliary network — has its claimed efficiency cancelled by the hidden cost once a reviewer surfaces it.\n- Collapsing a staged procedure into a single differentiable mapping is technically clean but gets rejected when the novelty is thin against recent methods and the gains are demonstrated only on weak or dated benchmarks.\n\n_(cluster size: 14 papers)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C24.md", "sha256": "b4f8759c8da5248c192265a3b42dfd6356e98fcae95a8f8d6048dabeee28bd8a", "text": "# C24\n_parent: **Liberate a Fixed Generative Component** (`generative_process_redesign`)_\n\n## Tactical pattern\n\nThe shared move is to hold an iterative-refinement generative backbone (diffusion, flow-matching, masked-token, or coarse-to-fine autoregressive prediction) fixed and treat its conditioning interface or operating representation space as the free variable. Concretely, papers do one of three things: change what the procedure conditions on (replace categorical labels with masked surrounding context, a differentiable measured-response objective, a self-supervised feature vector, or pinned start/end states); change how the condition enters (swap one-way frozen injection for bidirectional co-evolving dual streams, route conditioning across spatial regions and refinement stages, restrict the signal to an interval of steps, or partition it by functional subcomponent); or move refinement out of raw output space into a redesigned latent space (disentangled, contrastive, periodic-parameter, or SSL-feature). The condition and the latent are promoted to first-class design surfaces instead of inherited defaults. The payoff claimed is controllability, annotation-free conditioning, cross-step coherence, or inference efficiency — won by re-engineering the interface rather than retraining the backbone from scratch.\n\n## Step-by-Step\n\n1. Name the conditioning interface or operating space your iterative generator treats as fixed: what it conditions on, how that signal is injected, or which space refinement happens in. State the inherited default explicitly (a categorical label, a uniform one-way injection, raw-output-space refinement) and identify the specific failure that default forces — lost diversity, weak control, compounding error, or unusable data. The bottleneck must live in the interface, not in the backbone's raw generative capacity, which you keep.\n2. Reframe the fixed interface as a free variable by surfacing a structural equivalence the field overlooked: the condition need not be a hand-specified label (surrounding context, a measured response, or a learned feature can carry the same information), the injection need not be uniform or static (it can co-evolve, route, or activate selectively), or refinement need not occur in raw space (a learned latent can make the target structure tractable). Boundary: the equivalence must genuinely supply the needed information — bolting on a fancier encoder that does not change what is representable is recombination, not reframing.\n3. Redesign exactly one interface while holding the backbone architecture, training objective, data, and compute fixed, so the new conditioning pathway or latent space is the only moving part. Resist the urge to bundle two interface changes at once; if you must, design the experiment so each is separately attributable. The single-variable discipline is what later lets you prove the move is load-bearing.\n4. Demonstrate the redesign is the binding constraint: ablate the new interface against the default and show the gain collapses without it, and rule out confounds by checking that scale, data volume, or a borrowed stronger encoder cannot alone explain the result. If removing the interface leaves only a marginal gap, or if data/compute could account for the gain, the move is not yet established and reviewers will read it as a lateral swap.\n5. Show the redesign preserves or improves primary output fidelity while unlocking the new capability — controllability, coherence, annotation-free conditioning, or speed. Boundary: a redesign that buys efficiency or control at a clear cost to output quality relative to the strongest incumbent reads as a wash; the durable contribution is the interface that adds a capability without surrendering fidelity, ideally reusable across backbones and domains.\n\n## Differentiation within parent\n\nCluster 24's free variable is the conditioning interface and the latent/representation space of an iterative generative backbone that you deliberately keep and re-engineer — what the procedure conditions on, how the condition enters, and which space refinement runs in. This contrasts sharply with sibling cluster 15, which leaves the generative procedure intact and instead repurposes a frozen pretrained generative model as an implicit supervision source or probe to recover hidden domain structure; there the model is queried as a measurement instrument and the deliverable is discovered structure, not a better-controlled generator. It also differs from sibling cluster 23, whose tactic is a specific encoder-to-reference-average architecture that maps per-unit local representations to a multi-source average to strip source-specific attributes for one-shot many-to-many transfer; cluster 24 does not commit to that fixed disentangle-by-averaging recipe and is broader, centering on redesigning the what/how/where of conditioning rather than on a single attribute-stripping encoder.\n\n## When to pick this one\n\nPick this when the bottleneck sits in the conditioning pathway or the space the generator operates in — the backbone already produces good unconditional or loosely-conditioned samples, but the control signal is mis-specified, injected the wrong way, or the procedure runs in a space that makes your target structure hard to express. If instead you need the model as a measurement instrument to surface latent structure, or you need a dedicated encoder that strips attributes to a neutral reference, a sibling tactic fits better.\n\n## Tactical failure mode\n\nPapers attempting this tactic fail most often by attaching a different conditioning encoder, latent space, or control channel to an existing refinement backbone and presenting the swap itself as the contribution, without isolating it. The recurring structural shortcut is the missing ablation that holds backbone, data, and compute fixed while toggling only the new interface — so reviewers cannot tell whether the gain comes from the redesigned conditioning pathway or from a stronger borrowed encoder, more data, or more compute. A second shape is the marginal-or-negative tradeoff: the redesign buys efficiency or controllability but degrades primary output fidelity relative to the strongest incumbent, making the move read as a lateral recombination of two already-published modifications applied to a new domain. A third is the over-claimed reframe — asserting a 'unified', 'foundation', or 'new model class' framing (joint generation, interchangeable interfaces, multi-domain pretraining) that the experiments never actually exercise. Self-check: if you cannot point to one ablation where removing your interface collapses the result, and you cannot rule out data/scale/a borrowed encoder as the true cause, you are in this failure mode.\n\n## Examples\n### Oral lessons\n- A generative procedure's conditioning interface is signal-agnostic: any differentiable objective — a measured response, a self-supervised feature, masked context — can replace the semantic label, turning the generator into a probe or an annotation-free conditional model.\n- A conditioning signal applied uniformly across refinement steps is the wrong abstraction; each stage plays a distinct generative role, so the highest-yield move is often to restrict or reshape the signal to the stages where it actually helps.\n- Frozen one-way injection assumes the precomputed condition is already sufficient — letting the condition co-evolve bidirectionally with the output during refinement, with its own parameter stream, beats static injection on complex specifications.\n- When a generative model family underperforms at a new scale or modality, suspect that one localized component (frequently the evaluator or supervision pathway) is the binding constraint rather than the whole architecture or the objective.\n- A representation that the field uses only as a training-time alignment regularizer can be promoted to an inference-time reconstruction target or operating space, converting discarded structure into an active conditioning prior at near-zero cost.\n- Imposing analytic structure on the latent space — a closed-form boundary-pinned process, a disentangled or periodic-parameter manifold — hands you a free, error-free dynamics or coherence model that beats learning a rollout which compounds error.\n\n### Reject lessons\n- Eliminating two inherited bottlenecks at once is only compelling if the combined system clearly beats systems that removed each in isolation; marginal gains plus a regression in primary quality read as recombination, not a new method.\n- Swapping the conditioning encoder for a more powerful one is not a new model class if the output quality still trails incumbents and the encoder's advantage is never ablated against the prior encoder under matched conditions.\n- A controllable pipeline assembled from frozen pretrained modules needs an ablation proving that the new control surface — not the off-the-shelf components — drives the gain, or it collapses into prior synthetic-data and adapter work.\n- Claiming a unified or foundation-model reframe obligates you to actually demonstrate the unification (multi-domain pretraining plus transfer); per-setting retraining under a single architecture does not substantiate the claim.\n- Importing a representation from a semantically adjacent domain as the conditioning signal fails when that space is orthogonal to the geometry or dynamics that actually determine the output being synthesized.\n\n_(cluster size: 46 papers)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C25.md", "sha256": "ced46168bbcc6ab1aeaf9a242b47631d6076097bd8758c08560c3faa888da4ff", "text": "# C25\n_parent: **Decompose and Delegate to Solvers** (`decompose_and_delegate`)_\n\n## Tactical pattern\n\nHave the learned model emit a structured, machine-checkable intermediate artifact at the decomposition boundary — an executable program, a formal domain/world model, a relational-or-constraint graph, a concrete state waypoint, an interleaved reason-act/tool-call trace, or a typed inter-agent deliverable — in place of a final answer, then route that artifact to a sound solver (interpreter, classical planner, constraint solver, MCTS/RL optimizer) or back through the model's own verify-and-revise loop. The load-bearing move is closing the loop with the solver's verifiable output — execution results, validator verdicts, behavioral consensus across independently sampled candidates, or terminal-answer confidence — and using that signal for credit assignment, candidate selection, or in-place correction applied DURING construction rather than only post-hoc. The learned component is confined to extraction, enrichment, planning, and interfacing; structured or symbolic resolution is offloaded to the component that handles it exactly. The recurring innovation is converting the intermediate representation from advisory output into a load-bearing object that something downstream can mechanically check.\n\n## Step-by-Step\n\n1. Identify which sub-problem the learned model handles unreliably and which a sound solver handles exactly — combinatorial search, precise computation, structural path-finding over a formal space, or pinpoint localization within a large corpus. Frame this as a responsibility boundary between comparative advantages, not a capability gap to be trained away. If you cannot name a structurally distinct bottleneck and instead merely chain several generic agents, the decomposition will read as incremental assembly of off-the-shelf parts.\n2. Design the intermediate artifact that crosses this boundary to be inspectable and machine-checkable — typed and schema-conforming, executable, or formally verifiable — so the handoff carries an object a solver can consume, not free-form prose the next stage merely reads. An advisory plan with no verification closure leaves the artifact non-load-bearing and collapses the contribution to ordinary sampling-plus-filtering. The representation should align with the form the task's own specification or examples already use, so each piece is independently checkable.\n3. Route the artifact to the matched solver (or to the model's own critique loop) and close the loop with the solver's verifiable output: execution results, validator verdicts, behavioral consensus among independently sampled candidates, or terminal-answer confidence. Apply this feedback mid-construction so it can assign credit to individual sub-decisions, select among candidates, or trigger in-place correction — not only filter complete outputs after the fact. Where self-generated evaluation signals are known to be unreliable, substitute an external or consensus-based oracle rather than trusting the model to grade itself.\n4. Ablate the verification-feedback step to prove it is load-bearing: demonstrate that removing it returns performance to the undecomposed baseline. Guard against the confound where apparent gains actually come from extra training data, more epochs, or the base model's pre-existing knowledge — isolate the structure's marginal contribution explicitly, or reviewers will discount the gains as unattributable.\n5. Account for the cost the delegation introduces — solver latency, multiplied model calls, or the quality of any pipeline that supplies the artifact's supervision — and validate beyond toy instances. An unexamined NP-hard solver cost, an unvalidated data-generation or retrieval component, or an elicitation scheme tuned to a single benchmark will sink an otherwise elegant decomposition. State the disclosure honestly when the loop depends on a privileged signal (e.g., available test cases) that real deployments lack.\n\n## Differentiation within parent\n\nSingleton under parent methodology — no sibling clusters exist.\n\n## When to pick this one\n\nInstantiate the methodology as this tactic when the unreliable sub-problem has a sound external solver or a mechanically checkable oracle available — an interpreter, classical planner, constraint solver, search/RL routine, or executable test suite — and the learned model can emit a structured artifact that the solver consumes and returns verifiable feedback on. The signal is \"I can name a checker that grades the intermediate object,\" not just \"I can split the task into stages.\"\n\n## Tactical failure mode\n\nThe recurring failure is assembling a decompose-and-delegate pipeline whose components are all off-the-shelf — role-agents, prompts, existing engines, retrieval modules — so that no single piece is shown to be both novel and load-bearing. The intermediate artifact stays advisory (read by the next stage but never closed by a verification signal), reducing the system to sampling-plus-filtering or to a re-skin of an already-published neighbor that performed the same routing move. When the delegated solver is sound but expensive, authors omit the latency and scalability accounting that the delegation demands, or they lean on a benchmark-tailored prompt/elicitation scheme that reads as an ad-hoc hack rather than a transferable mechanism. Most damaging, they skip the ablation that isolates the decomposition's marginal contribution from extra data, prior model knowledge, or larger backbones, leaving reviewers unable to attribute the gains to the proposed structure. Self-check: can you name the one component whose removal collapses performance to the baseline, and have you empirically shown that collapse while ruling out confounds?\n\n## Examples\n### Oral lessons\n- Using the same generative mechanism both to produce candidate intermediate states and to score them eliminates the need for a separately trained evaluation oracle — viable precisely when self-scoring is reliable enough to steer a search.\n- Interleaving deliberation steps and external-query steps within a single output trajectory (rather than running them as separate streams) creates the feedback loop that grounds each reasoning step and suppresses unsupported conclusions.\n- Expressing sub-goals as concrete, independently verifiable state configurations rather than symbolic descriptions lets learned sub-tasks recombine for compositional structures never seen in training.\n- Treating a solver's intermediate by-products — synthesized lemmas, discovered composite operations, iterative repair diffs — as persistent reusable capital turns each individual solve into cumulative library growth at near-zero marginal cost.\n- Enforcing typed, schema-conforming artifacts at every inter-component handoff breaks the cascading-error chain that free-form natural-language passing silently propagates.\n- When a system's own self-generated evaluations are empirically unreliable, replacing them with behavioral consensus among independently sampled candidates is a more robust correctness proxy than any self-critique.\n\n### Reject lessons\n- A decomposition that merely chains off-the-shelf agents or engines, with no single component demonstrated to be both novel and load-bearing, reads as engineering assembly rather than a contribution.\n- If the 'key' prompt or elicitation scheme is tuned to one benchmark and not validated across settings, reviewers treat it as a dataset-specific hack instead of a transferable mechanism.\n- Delegating a sub-problem to a sound but costly solver (NP-hard search, materialized intermediate state) sinks the contribution when latency and scalability are left unexamined.\n- Without an ablation isolating the decomposition's marginal effect from extra data, more epochs, or the base model's prior knowledge, the reported gains read as confounded and unattributable.\n- Re-deriving a routing move that a closely neighboring published system already demonstrated, while showing only marginal gains, fails the novelty bar regardless of engineering polish.\n- A self-improvement or decomposition loop whose reliability hinges on an unvalidated data-generation, retrieval, or filtering component invites rejection when error propagation across iterations is never analyzed.\n\n_(cluster size: 42 papers)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C26.md", "sha256": "8b3b77eb217046fa5c64a7f5fd38a67bbfc96550b92cc6249a46241d222318ae", "text": "# C26\n_parent: **Manufacture the Supervisory Signal** (`self_supervised_signal_engineering`)_\n\n## Tactical pattern\n\nThis cluster manufactures a comparative or scalar reward signal — pairwise preference pairs, typed dense rewards, or quality scores — from a non-human source, then optimizes the target model against it with a contrastive/preference objective (DPO-style ranking, reward-model backprop, or score-conditioning) rather than label-fitting. The recurring moves are concrete: extract preference pairs from structures that already encode an ordering (pruned search-tree branches as dispreferred against the surviving path, the policy's own internal output scores, strong-versus-weak model contrasts, execution-verified versus failed trajectories); re-granularize the comparison to match where credit assignment fails (a single end-of-sequence scalar → step-level or error-typed signals); and convert noisy absolute scores into reliable relative orderings via pairwise ranking loss. The signal source is a learned reward model, an AI/oracle judge, or the policy itself, and the optimization treats the comparison — not a point label — as the unit of supervision. Several entries push further by embedding the preference signal into the model's native training objective so alignment becomes a special case of pretraining rather than a grafted-on correction.\n\n## Step-by-Step\n\n1. Diagnose the missing supervision as comparative rather than categorical: confirm you can rank or score outputs by quality even though you cannot assign each a single ground-truth label. If the real gap is just 'no labels,' a pseudo-label-and-filter loop fits better; reserve this tactic for when a preference ordering or reward score is the natural unit of signal. Resist stopping at a benchmark or dataset that merely measures the gap — the signal must be built to be consumed by an optimizer.\n2. Locate a non-human source that already encodes the comparison and harvest it: pruned branches of a search tree as dispreferred against the surviving path, the policy's own internal output scores, a strong-versus-weak model contrast, or execution-verified versus failed trajectories. Prefer sources whose orderings are in-distribution for the model being trained; externally curated or stronger-model labels are not automatically superior and can underperform self-generated in-distribution comparisons.\n3. Set the comparison granularity to match where credit assignment fails. When a single end-of-output scalar cannot localize which step or which quality dimension caused the failure, decompose into step-level or error-typed signals so the gradient points at the responsible locus. Construct each pair to differ minimally — ideally at exactly one faulty transition sharing an otherwise-correct prefix — so the contrast isolates the error instead of confounding it with unrelated variation.\n4. Optimize the target against the manufactured signal with a contrastive/preference objective, score-conditioning, or distillation — not plain label-fitting. Where possible, reformulate the alignment objective inside the model's own native training loss rather than grafting a foreign objective across structurally different model families, which silently introduces an approximation gap. Changing only the granularity or only the label source of an off-the-shelf objective, with no such reformulation, is precisely what reviewers read as incremental.\n5. Demonstrate that the gain is attributable to the preference structure itself, not merely to extra fine-tuning or incidental properties of the source. Ablate against self-improvement and same-compute baselines, and close the loop to the end-goal metric rather than reporting only reward-model accuracy. Bundle the move with a payoff a bare substitution cannot claim — a removed approximation, a capability previously assumed impossible, or a newly-surfaced failure axis.\n\n## Differentiation within parent\n\nBoth this cluster and cluster 8 manufacture supervision in a self-referential loop, but they differ in the type of signal and the machinery that consumes it. Cluster 8 assigns provisional point labels to unlabeled outputs, applies an adaptive confidence cutoff to filter which labels to retain, and retrains a producer/evaluator pair on the filtered set each round — its engineering lives in the filter and the iteration schedule. This cluster instead manufactures a relative preference or scalar reward (pairwise pairs, typed dense rewards, internal output scores, tree-search orderings) and optimizes the target with a contrastive/preference objective rather than label-fitting; its engineering lives in how the comparison is sourced and granularized. It also diverges sharply from cluster 7, whose tactic stabilizes optimizer dynamics, initialization, and premature convergence for low-data adaptation and involves no preference or reward signal at all.\n\n## When to pick this one\n\nPick this when the missing supervision is naturally comparative — you can say output A is better than B, or assign each output a quality score — rather than a single correct label, and you have a contrastive/preference objective ready to consume that ordering. Choose it especially when credit assignment is the pain point, because a holistic end-of-output scalar cannot localize which step or quality dimension failed.\n\n## Tactical failure mode\n\nThe dominant failure is the single-component swap: the paper takes the established preference pipeline (reward model → contrastive optimization) and changes exactly one slot — human labels to an AI judge, offline data to online sampling, response-level to step-level granularity — then presents that swap as the contribution. Reviewers read this as incremental because the swap is a predictable synthesis of two already-known ideas and unlocks no behavior that was previously unreachable. A second shape is stopping short of the loop: shipping a preference dataset, benchmark, or reward model without demonstrating the downstream optimization that is supposed to consume it, so the work reads as infrastructure rather than method — or validating only on a proxy/surrogate domain without showing transfer to the target end-goal metric. A third is assembling off-the-shelf parts (parameter-efficient adaptation plus self-distillation) for a known problem while concurrent work does the same, leaving no defensible novelty. A candidate author should self-check: does the manufactured-preference move come bundled with a reformulation that removes an approximation, a demonstrated capability previously assumed impossible, or a newly-surfaced failure axis — or is it just relabeling one box in the standard diagram?\n\n## Examples\n### Oral lessons\n- Embedding the preference signal into the primary training objective beats post-hoc correction, because behaviors entrenched during primary training cost more to unlearn than to never learn — alignment at training time achieves what a later correction stage structurally cannot.\n- Reformulating preference alignment inside the model's own native pretraining loss eliminates the approximation gap that appears when an objective designed for one model family is ported to a structurally different one.\n- A model's own internal output scores already encode a latent comparative ordering, so surfacing the signal inward dissolves the assumed dependence on an external annotation oracle.\n- When absolute quality estimates are too noisy for pointwise regression, converting them into pairwise relative orderings recovers a learnable signal from the very same noisy source.\n- Preference optimization over a diverse suite of problems can instill a transferable meta-skill rather than memorized per-instance solutions, enabling zero-shot transfer to unseen instances.\n- Constructing preference pairs that explicitly span every distinct failure mode turns single-axis alignment into simultaneous multi-error suppression.\n\n### Reject lessons\n- Swapping the preference-label source (human → AI judge, offline → online) without showing the swap unlocks a behavior previously unreachable reads as a one-component substitution and draws novelty rejections.\n- Stopping at the preference dataset, benchmark, or reward model without demonstrating the downstream optimization it is meant to feed leaves the contribution looking like infrastructure rather than method.\n- Changing only the granularity of an established contrastive objective (response-level → step-level) is judged incremental unless paired with a clearly demonstrated practical unlock.\n- Borrowing a structurally related proxy domain to synthesize preference data, without validating that the proxy's regularities transfer to the target's end-goal metric, invites rigor and generalization concerns.\n- Combining off-the-shelf components (parameter-efficient adaptation plus self-distillation) for a known problem fails the novelty bar when concurrent work performs the same combination.\n\n_(cluster size: 19 papers)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C27.md", "sha256": "1c6a3b88c1c50aab2841681e9eeea8e6279409b02f4221eca7aa8e3059795bf4", "text": "# C27\n_parent: **Reframe as a Solvable Object** (`reframe_as_solvable_object`)_\n\n## Tactical pattern\n\nThis cluster takes a problem that is intractable or ill-posed in its native form and re-casts it as an explicit multi-agent game: it names the players, writes per-agent utility functions and strategy spaces, and designates a solution concept (Nash, Stackelberg, quantal-response, team/correlated equilibrium) whose fixed point is engineered to coincide with the target quantity — ordered eigenvectors, an alignment policy, a content-allocation, a robust defense. The signature design move is shaping the payoffs so the desired answer is the UNIQUE equilibrium: asymmetric/hierarchical overlap penalties that break rotation symmetry, softmax-over-similarity allocations that pin equilibrium multiplicity to a geometric constraint, or a distribution over interpolation coefficients that fixes convention alignment. Computation is then handed to mature game-solving machinery — no-regret/regret-minimization dynamics, best-response iteration, decoupled gradient ascent on local utilities, dual-variable/KKT recovery, or complexity reductions — accompanied by a convergence, polynomial-time, or hardness guarantee. The contribution is the proven correspondence \"equilibrium = target\" plus a working solver, not the relabeling alone.\n\n## Step-by-Step\n\n1. Identify the quantity you actually want to compute and the set of agents whose competing or cooperating interests can express it; name every player and its objective explicitly. The reject-grade shortcut is leaving the central agent or its behavior described only informally (\"the agent does X\"), so neither reviewers nor the solver can tell what the equilibrium is selecting for.\n2. Construct per-agent utility functions and strategy spaces so the structure you care about is encoded in the payoffs themselves rather than bolted on afterward. The load-bearing choice is making the desired solution the UNIQUE fixed point — e.g., asymmetric or hierarchical penalty terms that break a symmetry a joint objective cannot, or a payoff geometry that ties equilibrium existence and multiplicity to one architectural constraint.\n3. Designate a solution concept and PROVE the correspondence: an equilibrium of your constructed game equals the target solution. If you must introduce a new equilibrium concept, you owe both a necessity argument (why a standard concept provably fails) and a tractability argument; proposing a novel concept without either reads as ungrounded and invites rejection.\n4. Map equilibrium computation onto existing game-solving machinery — regret-minimization/no-regret dynamics, best-response iteration, decoupled gradient updates, dual-variable recovery, or a reduction to a known hard fixed-point problem — and attach a guarantee (convergence, polynomial bound, or matching hardness). Merely claiming a structural condition 'buys' tractability without showing the resulting solver is competitive or runs at relevant scale draws lukewarm, low-excitement reviews.\n5. Validate that the equilibrium is the RIGHT object against the native problem (recovered components at scale, tournament wins versus experts, pre-deployment audit predictions), and formally operationalize your success metric BEFORE measuring. Benchmarking a redesigned payoff while leaving the target property (what counts as 'cooperation', 'success', 'misdirection') undefined cannot demonstrate that the reframing bought anything.\n\n## Differentiation within parent\n\nWhere sibling cluster 0 reframes by engineering a single learned decision-scoring function over interpretable auxiliary predictors — keeping one decision-maker and treating the reframing as objective design via a learned aggregation — this cluster instantiates the parent's \\\"game/equilibrium\\\" branch: it introduces MULTIPLE strategic agents and an explicit equilibrium solution concept, so the solvable object is a fixed point among competing or cooperating utilities rather than a forward-looking scoring function. And where cluster 21 ports a generative iterated-transmission / emergent-language framework into an architecture, this cluster ports the apparatus of game theory specifically — players, payoffs, equilibria, regret dynamics, complexity reductions. The distinguishing artifact is a proof that an equilibrium of a deliberately constructed game equals the target solution (plus the solver that reaches it), which neither sibling produces.\n\n## When to pick this one\n\nPick this instantiation when the problem can be endowed with multiple interacting decision-makers whose competing or cooperating incentives — and a stable fixed point among them — naturally express the quantity you want to compute, and when mature equilibrium-solving machinery (regret minimization, best response, complexity reductions) already exists to exploit.\n\n## Tactical failure mode\n\nThe recurring failure is that the game is named but its central object is left informal, so the reframing never gets earned. One shape is leaving the key payoff term or behavioral concept undefined — what exactly is the equilibrium selecting for — which leaves reviewers confused throughout and unable to distinguish the claimed behavior from ordinary play. A second shape is introducing a novel equilibrium or solution concept without proving why a standard concept fails or showing it is computable at relevant scale, so the new concept reads as unmotivated and is dinged for missing comparisons and impractical cost. A third shape is claiming a structural condition delivers tractability (e.g., complexity independence from action-space size) while never demonstrating the resulting solver is competitive or even runs, producing tepid \\\"no excitement\\\" reviews. The shared shortcut across all three is treating the reframing itself as the contribution, rather than backing it with a proven equilibrium-to-target correspondence, a working solver, and a formally operationalized success metric.\n\n## Examples\n### Oral lessons\n- The highest-yield move is engineering the payoffs so the desired answer is the UNIQUE equilibrium — an asymmetric or hierarchical penalty that breaks a symmetry a rotation-invariant joint objective structurally cannot.\n- A formal convergence guarantee need not hold in your exact setting to be valuable: a regret-minimizer proven only for two-player zero-sum can still transfer empirically to mixed-motive multiplayer if you validate against strong real opponents.\n- Replacing a single fixed trade-off coefficient with a distribution over coefficients lets one training run span the entire imitation-to-optimization spectrum, fixing convention-alignment failures that a point estimate silently misses.\n- You can design a surrogate objective whose unique minimizer provably equals the equilibrium, collapsing an expensive iterative game-solving loop into a direct minimization over a pairwise-comparison dataset.\n- Tractability can be made a property of the agent model's hyperparameters (risk aversion, bounded rationality) rather than the game instance — redefine the solution concept instead of fighting the intractable canonical one.\n- Recovering an opponent's equilibrium strategy from the dual variables / KKT conditions of a nonconvex program converts decoupled gradient convergence into a global equilibrium certificate, sidestepping combinatorial coalition blowup.\n\n### Reject lessons\n- Naming a game-theoretic behavior is not defining it — if the central concept is never formalized, reviewers cannot tell what the equilibrium selects for and pervasive confusion sinks the paper.\n- Redesigning a payoff to be general-sum does not by itself yield a valid benchmark; without a precise operationalization of the property you now claim to measure, high scores fail to separate the target behavior from artifacts of the reward change.\n- Introducing a new equilibrium concept demands a necessity-and-tractability argument — a novel concept that is computationally intensive and missing comparisons to existing frameworks reads as unmotivated.\n- A structural condition that 'buys' complexity independence wins nothing if the resulting solver is never shown to be competitive or to run at relevant scale, and lukewarm low-excitement reviews follow.\n- Extending bounds to a richer setting (noise, multiple groups) collapses when the success criterion stays undefined and the bounds are too loose to inform any real decision.\n\n_(cluster size: 17 papers)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C28.md", "sha256": "d72af42e36a4333f45f633454858cada56aca66b4b3ac1c711f23abad3273b6c", "text": "# C28\n_parent: **Audit and Pivot an Assumption** (`assumption_audit_and_pivot`)_\n\n## Tactical pattern\n\nWithin a distributed, federated, decentralized, or multi-agent iterative-optimization protocol, this cluster locates a structural assumption about the protocol's architecture — that local update steps are pure drift to be capped, that the adaptive/correction mechanism must reside at the worker, that computation and communication events must be coupled or synchronized, that participant contributions must be hard-clipped, or that step-sizes need problem-specific constants — and pivots it. The pivot takes a few concrete forms: relabel the supposedly-harmful quantity as a resource (more local steps become per-node variance reduction rather than drift amplification); relocate a mechanism to a different node (move adaptive step-size and second-moment accumulation to the aggregation server, fed by pooled increments); decouple two operations modeled as one (treat compute and gossip as separate random clocks); or swap a hard operator for a smooth/structural surrogate (truncation → smooth scaling with residual correction). The authors then re-derive convergence or sample–communication complexity bounds for the pivoted protocol under the realistic system conditions the field cares about — data heterogeneity, partial/intermittent/asynchronous participation, compression or privacy constraints — and where possible match a lower bound or expose a qualitatively new regime (e.g., increasing local steps shrinks the irreducible adversarial error floor, or two costs thought to sit on a Pareto frontier decouple).\n\n## Step-by-Step\n\n1. Name the load-bearing structural assumption inside the protocol — the implicit belief about WHERE a mechanism must live (worker vs. coordinator), whether a quantity (local steps, staleness, gossip rounds) is pure overhead, or that two operations must co-occur. Make it explicit and state precisely what it costs in the current analysis, so the pivot has a concrete target rather than a vibe.\n2. Pivot the assumption with a single sharp reframing: relabel the 'harm' as a resource, relocate the mechanism to a different node, decouple two coupled operations, or replace a hard operator with a smooth or structural surrogate. Compress the move to one sentence ('local steps reduce variance rather than amplify drift'). Boundary: if the move merely unions two known primitives without a stated mechanism for their synergy, it will read as amalgamation, not a pivot.\n3. Re-derive the convergence or complexity guarantee under BOTH the pivoted assumption and the realistic system conditions the field actually deploys — heterogeneity, partial/asynchronous participation, compression, privacy. Boundary: re-deriving only inside a sanitized regime (quadratic loss, no round-majority adversary, bounded magnitudes) assumes the hard case away and yields a result reviewers dismiss as expected and easy.\n4. Make the reframing demonstrably load-bearing — verify the new guarantee is produced BY the pivot, not merely decorated with it. Tie a tight upper bound to a matching lower bound where possible, or surface a new regime (decoupled costs, an irreducible error floor). Boundary: an elegant lens that never appears in the proof, a stated rate with an error, or a bound that secretly hinges on an unbounded or unsettable constant collapses credibility instantly.\n5. Anchor the theory to the exact deployment it claims: validate empirically in the same system setting asserted (decentralized if the claim is decentralized), and confront the practical regime the pivot lives or dies in (signal-to-noise, parameter-free operation, real heterogeneity). Boundary: theory-only contributions in crowded subareas, or a practice-claim validated only in a mismatched or simplified setting, fail to clear the bar even when the math is sound.\n\n## Differentiation within parent\n\nCluster 19 also pivots a hard operator into a smooth one (truncation → dampening), but it does so for a single estimator on one machine and re-derives a distribution-free generalization bound that then becomes the end-to-end training objective; this cluster keeps the same kind of operator swap (and several other pivot forms) inside a multi-node protocol and re-derives convergence or sample–communication bounds whose operative variables are nodes, synchronization rounds, participation, and inter-agent heterogeneity rather than a single estimator's variance. It further differs from cluster 29, whose pivot establishes a new property of the projection operator within single-agent constrained optimization, and from cluster 11, which pivots accounting/composition bounds for repeated privacy-sensitive trials over a shared pool; here the assumption under audit is the architecture of distributed iterative updates — who computes, who corrects, and when they synchronize — not a constraint-set geometry or a privacy ledger.\n\n## When to pick this one\n\nPick this instantiation when your gap lives inside a multi-node optimization protocol (federated, decentralized, or multi-agent) and the load-bearing assumption is about the protocol's system structure — where a mechanism resides, whether local work is harm or resource, whether two events must be coupled — rather than a property of a single estimator, a single-machine operator, or a privacy-accounting ledger.\n\n## Tactical failure mode\n\nPapers in this cluster typically execute a structurally valid pivot but fail on grounding rather than on the idea. The most common shape is a headline reframing that turns out not to be load-bearing — an elegant modeling lens (continuous-time clocks, a novel operator, a parametric surrogate) that never actually drives the proof, or a stated rate carrying an error — so the advertised contribution evaporates under scrutiny. A second shape is the 'expected/easy' result: the guarantee is re-derived only after the genuinely hard regime is assumed away (adversaries cannot form a round-majority, the loss is restricted to quadratic, magnitudes are pre-bounded), leaving a bound that drops out of standard machinery. A third is amalgamation — unioning several known primitives (proximal step + residual compression + source coding) without proving any synergy beyond the sum of parts. Across all shapes the diagnostic tell is a mismatch between claim and artifact: theory confined to a toy regime with no experimental bridge, a practicality-killing constant (catastrophic signal-to-noise, or an unsettable initialization term that contradicts the privacy claim it advertises), or experiments run in a different system setting than the one the contribution claims to address.\n\n## Examples\n### Oral lessons\n- Relabeling a per-node sub-objective as a reshapeable control variable, rather than a fixed and inherently misaligned target, can dissolve the very drift it was assumed to cause — and make running local work to convergence safe instead of harmful.\n- Pooled local update signals can carry enough information to drive a mechanism the field assumed had to live at the worker; relocating that mechanism to the coordinator removes per-worker state and communication cost without losing adaptivity.\n- Pairing a tight upper bound with a matching lower bound and then designing a variant that provably beats the baseline reads as a complete contribution, not an incremental extension.\n- Carrying a known correction mechanism into a harder system regime and quantifying the new, irreducible penalty it incurs there is itself a publishable discovery, not a mere port.\n- When two resource costs appear locked on a Pareto frontier, identify the true binding constraint (often error-drift accumulation, not information loss) and neutralize it directly — the frontier frequently decouples into independent axes.\n- A quantity the field treats as a required tuning input (a divergence bound, a problem constant) can sometimes be absorbed implicitly by per-coordinate normalization, eliminating the need to estimate it at all.\n\n### Reject lessons\n- If your headline reframing never does work in the proof — and the subarea is already well-studied — reviewers see decoration rather than contribution, and any rate error finishes the job.\n- A result that drops out of standard analysis once you sanitize the hard regime away (no adversarial majority, quadratic-only, bounded magnitudes) is discounted as expected and easy, even by sympathetic readers.\n- Combining several known primitives without demonstrating that the combination yields more than the sum of its parts collapses to 'amalgamation, modest novelty.'\n- A first-of-its-kind theory confined to a toy objective with no empirical bridge to the claimed deployment cannot show it generalizes, however sound the proof.\n- A clean closed-form substitute for a per-instance computation is worthless if it tanks signal-to-noise in exactly the regime it targets.\n- A convergence bound whose hidden dependence on an unsettable initialization constant contradicts the privacy claim it advertises destroys trust even when the operator swap itself is correct.\n\n_(cluster size: 16 papers)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C29.md", "sha256": "9f619738bcf908ebbb9b27a771b83007b4370ac5fc9f84738b3c823fb5789ca1", "text": "# C29\n_parent: **Audit and Pivot an Assumption** (`assumption_audit_and_pivot`)_\n\n## Tactical pattern\n\nThe shared move is to take an existing convergence or regret guarantee for an iterative first-order/adaptive update procedure (gradient descent, per-coordinate adaptive methods, Polyak/clipped/shuffling variants, interacting-particle or policy-gradient updates) and pivot the single regularity-or-target assumption the proof silently rests on. Concretely, authors either swap a global Lipschitz-smoothness assumption for a position- or trajectory-local one (an (L0,L1)-type or local rate-of-change bound), or replace the convergence primitive itself — exact-optimum target → a characterized neighborhood, squared-distance-to-solution measure → a direct objective-gap, metric approximation error → ordinal rank-preservation, boundedness of raw update signals → boundedness of signal residuals, mean-field limit → joint N-particle divergence. They then re-prove the rate by isolating one load-bearing object (a per-iteration progress bound, a fixed-point-preserving identity, or a cumulative-deficit decomposition) that all corollaries instantiate. The payoff is a sharper rate, a provable separation between method classes, or coverage of a nonsmooth/constrained/heavy-tailed/finite-particle regime the original assumption excluded.\n\n## Step-by-Step\n\n1. Pin down the single regularity or target-criterion assumption the existing convergence proof for the procedure relies on, and argue it is not a neutral simplification but the exact thing foreclosing the result you want — a faster rate, a separation between method classes, or applicability to a harder regime. The diagnosis must attribute the persistent theory–practice gap to the assumption itself, not to insufficient proof sophistication. Importing an assumption from a neighboring literature without showing it is the load-bearing obstacle in your own setting invites the 'borrowed assumption, benefits uninvestigated' dismissal.\n2. Replace that assumption with the weakest condition that still admits a clean proof: either a position/trajectory-local version of the regularity, or an entirely different convergence primitive — a neighborhood instead of the exact optimum, a direct objective-gap instead of geometric proximity, an ordinal/rank condition instead of metric error, residual-of-signal instead of raw signal, or a lifted joint object instead of a limiting approximation. The replacement must be verifiable and exhibited on concrete function or problem classes; a condition no one can check is read as reverse-engineered to make the proof close.\n3. Re-derive the rate from scratch under the new condition, and isolate the one load-bearing inequality, identity, or decomposition that every corollary instantiates — a single per-iteration progress bound, a fixed-point-preserving substitution, or a split of the rate-controlling quantity into a universally-bounded part and an assumption-sensitive part. Confirm the bound stays tight and that no hidden constant in the big-O explodes at the parameter limit where you claim the result is strongest.\n4. Prove the new condition strictly buys something the old one could not: a separation showing one method class converges where another provably diverges, a faster rate than the prior bound, or coverage of a nonsmooth, constrained, heavy-tailed, or finite-sample regime the original assumption silently excluded. A relaxation that yields only the baseline rate with cosmetic algorithmic changes will be read as an incremental extension over the closest existing method, however elegant the proof.\n5. Anchor the abstract guarantee to the motivating practice: name at least one concrete setting where the weakened condition demonstrably holds and where the procedure's advantage is observable, rather than stopping at the theorem. A single toy instance or a narrow benchmark-only validation leaves reviewers unable to judge whether the relaxed assumption captures a real advance, and a theorem stated without formal assumptions is treated as not-yet-a-paper.\n\n## Differentiation within parent\n\nThis cluster pivots the assumption of a *convergence/regret guarantee for an iterative optimization dynamics* and keeps the procedure essentially fixed, changing only the analytical primitive (regularity condition, convergence target, or measurement criterion) to re-prove a rate. Sibling cluster 19 also lives in the optimization/learning-theory space but its move is to *modify the operator itself* — replacing a hard truncation with a smooth dampening — and then derive a distribution-free *generalization* bound that it optimizes as the training objective; the target is statistical (generalization) and the algorithm is altered, whereas here the target is dynamics (rate/separation) and the algorithm is held constant. It is likewise distinct from sibling cluster 28, whose move is architectural decoupling of distributed optimization into a local update and an aggregation-side optimizer rather than auditing a load-bearing assumption of an existing proof.\n\n## When to pick this one\n\nPick this instantiation when the artifact whose assumption you are auditing is a convergence or regret guarantee for an iterative update procedure, the load-bearing assumption is a regularity condition or a convergence-target/measurement criterion, and the payoff you seek is a rate, a class separation, or coverage of a harder regime — not a generalization bound or a new architectural mechanism.\n\n## Tactical failure mode\n\nThe dominant failure shape is a relaxed assumption that is technically valid but uncharacterized: no named function or problem class is shown to satisfy it, and the behavior of its constants as dimension or iteration grows is unstudied, so reviewers read it as engineered to make the proof close rather than as a genuine generalization. A second recurring shape is a re-derived rate that merely matches the existing baseline with near-identical algorithmic changes, which lands as an incremental extension over the closest prior method regardless of the proof's elegance. A third is a headline guarantee undermined by hidden constants in the big-O that explode at the very parameter limit where the result is claimed strongest — a defect reviewers find by reading the proof, not the statement. Compounding these, the empirical anchor is often a single toy instance or a narrow benchmark that fails to validate the motivating application, or the paper states 'tight, assumption-free' results with no exhibited assumptions or precise theorems at all. Self-check: can you name a concrete class satisfying your weakened condition, does the relaxation buy a rate or separation the old assumption provably could not, and do your constants stay finite at the regime you advertise?\n\n## Examples\n### Oral lessons\n- The highest-value assumption to attack is not the one that simplifies the proof but the one that silently erases the exact regime where your method's advantage would appear — relax that and a separation between method classes falls out.\n- Switching the convergence target from the exact optimum to a neighborhood whose radius you explicitly characterize can unlock a strictly faster rate while staying compatible with mechanisms that exact convergence forbids.\n- When a proof routes through a proxy quantity that breaks in your target regime, bounding the quantity you actually care about directly is often the only unblock — the proxy was the obstacle, not the difficulty.\n- Lifting the object of analysis to a higher-dimensional or joint representation can expose a tractable dominant signal that the lower-dimensional framing hid, letting you bypass a lossy intermediate approximation entirely.\n- Recasting a magnitude bound on raw update signals as the same bound on signal differences restores the fixed-point property at the solution, so the relaxed analysis still converges to the exact target instead of a biased one.\n- Decomposing a cumulative performance measure into one universally-bounded component and one assumption-sensitive component reduces the entire characterization to bounding a single tractable term and can reveal a sharp threshold.\n\n### Reject lessons\n- A weakened assumption that no known function class is shown to satisfy reads as engineered to close the proof, not as a genuine generalization — characterize when it holds or it sinks the paper.\n- Borrowing a relaxed condition from a neighboring literature without demonstrating its concrete benefit in your own setting leaves reviewers asking what the assumption actually buys.\n- Re-deriving a rate that merely matches the baseline with near-identical algorithmic changes is read as an incremental extension, however clean the analysis.\n- Hidden constants that explode at the precise parameter limit where the result is advertised as strongest silently invalidate the headline guarantee, and reviewers find them in the proof.\n- A theorem stated without formal assumptions or a precise claim is unreviewable; 'tight, assumption-free' bounds with no exhibited assumptions are treated as not-yet-a-paper.\n- An assumption-relaxation validated only on a single toy instance gives no evidence the relaxation captures the motivating practical regime.\n\n_(cluster size: 21 papers)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/C30.md", "sha256": "7e91d3605898cddc818268020289617ca76496905342b58adc4358eedc146497", "text": "# C30\n_parent: **Substitute the Operator or Representation** (`architectural_operator_substitution`)_\n\n## Tactical pattern\n\nThis cluster treats the second-order/curvature object of the *training dynamics* — the Hessian, Gauss-Newton matrix, limiting NTK/linearized kernel, Fisher/natural-gradient metric, or gradient-flow vector field — as the operator to substitute or reshape, then discharges a spectral proof obligation. Two concrete instantiations recur. (a) Replace exact curvature with a structurally cheaper surrogate that provably retains the load-bearing spectral content: a Kronecker-factored/block-diagonal approximation, a low-rank truncation, a fixed curvature proxy folded into a first-order step, or an exact equivalence that reframes a second-order ranking criterion as a first-order gradient-outlier statistic. (b) Reparameterize or lift the variable — degree-lifting, product-form factorization, value-preserving symmetry teleportation, early-detected low-dimensional update subspace — so the landscape's curvature spectrum is reshaped: spurious minima acquire negative curvature, or the limiting kernel stays strictly positive definite at a smaller rank. The load-bearing artifact is always a spectral guarantee — positive-definiteness of the composite/limiting curvature matrix, a saddle-escape or eigenvalue-threshold result, a conditioning-decoupled convergence rate, or a completeness theorem for conserved quantities.\n\n## Step-by-Step\n\n1. Name the exact second-order quantity that governs the outcome you care about — not 'curvature is expensive' but the specific spectral object: the smallest eigenvalue that throttles the step size, the outlier eigenvalues that create spurious minima, the limiting kernel's positive-definiteness, or the dimension of the conserved-quantity space. Tie the bottleneck (slow convergence, trapped optimization, infeasible attribution) to this one quantity. Attempts that merely observe 'second-order methods are costly' and reach for a generic proxy without isolating which spectral quantity is load-bearing will read as incremental.\n2. Pick the substitution direction. Either (a) replace the object with a structurally cheaper surrogate that keeps the load-bearing spectral content, or (b) reparameterize/lift the variable so the spectrum itself is reshaped in your favor. The surrogate or reparameterization must exploit a structural property latent in *this* problem — low-rank update increments, a factorized parameterization, composability across operator types, an invariant subspace — rather than importing an off-the-shelf approximation that happens to be cheap.\n3. Prove that the substitute preserves the essential spectral property for your actual structure. Establish positive-definiteness of the *composite* matrix (e.g. when operator-constrained terms mix direct and transformed evaluations), derive the saddle-escape or rank-threshold result, or show the cheap and expensive criteria are *exactly* equivalent. Do not assume a positive-definiteness or no-spurious-minima result from a prior, simpler setting carries over by analogy — the composite/operator-mixed object usually breaks the inherited proof and the gap must be closed independently.\n4. Convert the spectral guarantee into the end-quantity the field rewards: a finite, computable threshold (lifting degree, factorization rank), a convergence rate decoupled from the condition number, a generalization or attribution bound, or a completeness claim that no further invariants exist. The condition under which the guarantee binds must be verifiable and non-vacuous; a bound resting on an unproven ansatz, or one that degrades under the curse of dimensionality or unestimable distributional structure, undermines the whole chain.\n5. Validate that the substitution moves the needle against the strongest available baseline — the cheap surrogate matches the exact second-order method's quality, or the reshaped landscape delivers the claimed escape/convergence empirically. A correct theorem proven only in a contrived regime (width-1 layers, a single response-function form, infinite width with no finite-width discussion) or shipped without strong baselines reads as an artifact of the assumptions rather than a general advance.\n\n## Differentiation within parent\n\nSibling cluster 12 also wields Hessian eigenvalue spectra, but it keeps an existing forward-pass module intact and uses curvature as a *diagnostic lens* to re-attribute that module's generalization to landscape flattening — curvature is the explanatory instrument, the module is unchanged. Cluster 30 instead makes the curvature/second-order object of the *optimization dynamics itself* the thing it substitutes, approximates, or reshapes, and its deliverable is an operational guarantee (saddle escape, conditioning-decoupled convergence, scalable attribution, conserved-quantity completeness) rather than a mechanistic re-attribution. It is likewise distinct from cluster 14, whose substituted object is a forward-pass representation (dual content/position vectors with disentangled interaction terms) in service of expressivity, not a second-order object in service of training-dynamics behavior. In short: 12 reads curvature to reinterpret a layer, 14 swaps the representation inside the forward map, and 30 substitutes or re-conditions the curvature operator that drives learning.\n\n## When to pick this one\n\nChoose this instantiation when your bottleneck lives in the second-order structure of the training dynamics — the Hessian/NTK/Fisher spectrum, ill-conditioning, spurious-minima or saddle geometry, or curvature-based scoring — rather than in a forward-pass operator's runtime or a representation's expressive capacity. The tell is that the quantity you need to control is a spectral property of how learning proceeds, not of what the network computes on a single input.\n\n## Tactical failure mode\n\nThe dominant failure is substituting curvature for a recognized cheaper proxy — a fixed Hessian approximation, an incrementally-maintained sketch, a continuous-ODE reformulation, or a standard NTK-style preconditioner — and applying it to a new but narrow setting, so the work reads as an incremental re-skin of a known technique rather than a new spectral insight. A second, deeper failure is letting the spectral-preservation claim rest on an unproven ansatz or on a positive-definiteness result borrowed from a simpler regime that does not actually transfer to the composite/operator-mixed object; when the linchpin assumption is only empirically motivated, every downstream theorem collapses with it. A related shortcut is proving the curvature-decoupling or acceleration guarantee only in a contrived regime — width-1 layers, a single response-function form, infinite width with no finite-width bridge — which makes the result an artifact of the assumption. The recurring self-check: have I isolated *which* spectral quantity my substitute uniquely preserves, proven that preservation for *my* structure rather than by analogy, and shown the guarantee binds outside a toy regime against a strong baseline? If the surrogate is general but the proof is borrowed, or the proof is rigorous but the regime is contrived, the contribution will not clear the bar.\n\n## Examples\n### Oral lessons\n- A relaxation device used elsewhere only to build convex surrogates can be transplanted into a non-convex landscape to inject negative curvature at spurious stationary points, converting trapped minima into escapable strict saddles.\n- Reducing an infinite-dimensional question — what is preserved across all descent trajectories? — to a finite Lie-algebraic computation lets you both enumerate the conserved quantities and certify that the list is complete.\n- Treating a product parameterization as a jointly-optimized factored problem rather than a one-sided linear projection can collapse the rank needed for a no-spurious-minima guarantee by an order in the sample count.\n- If a second-order criterion is only ever consumed as a ranking, proving it is exactly equivalent to a first-order outlier statistic in gradient space eliminates the curvature inversion entirely while keeping the guarantee.\n- When practitioners declare a factored curvature approximation inapplicable to a heterogeneous architecture, the highest-yield move is often composing already-existing per-operator-type extensions, not inventing a new approximation.\n- Recasting a structured hardware or algorithmic perturbation as an implicit, state-dependent regularizer rather than as noise makes a single unified correction provably valid across all shapes of the perturbation.\n\n### Reject lessons\n- Restructuring a known cheap curvature proxy into a drop-in first-order update reads as incremental unless you isolate and prove the specific spectral quantity it uniquely preserves.\n- A spectral-equivalence ansatz that is empirically suggestive but formally unproven becomes a single point of failure that collapses every theorem built on top of it.\n- Maintaining a curvature surrogate by incremental low-rank updates is not novel on its own, and a regret/convergence analysis that ignores the drift between the surrogate and the true low-rank object yields an unsound guarantee.\n- Proving a conditioning-decoupling or depth-acceleration result only under a contrived regime (width-1 hidden layers, a single fixed response-function form) makes the advance read as an artifact of the restrictive assumption.\n- Reformulating a discrete update rule as a continuous ODE solved by an adaptive integrator is a recognized equivalence; absent a strong baseline and a clearly removed bottleneck, it reads as a re-skin rather than a contribution.\n- Extending an established NTK convergence template to a different optimizer without strong motivation or any in-submission experiments reads as a straightforward exercise, not a conceptual advance.\n\n_(cluster size: 20 papers)_" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/ideation-sub-patterns/overview.md", "sha256": "bef036e8aed185e598f98caf45984b2444b47a45e3f35babe3bb038ff006a8fa", "text": "# Innovation sub-patterns — overview\n\nThe 31 induced ideation sub-patterns (HDBSCAN on text-embedding-3-large of the four `abstract_*` fields, 1,891 papers, mcs=10). Each row is one cluster; full card is at `C##.md`. Lesson-only examples panel (no paper-ID citations — pure paper-agnostic distillations).\n\n| Cluster | Parent methodology | n_papers |\n| --- | --- | --- |\n| `C00` | `reframe_as_solvable_object` (Reframe as a Solvable Object) | 46 |\n| `C21` | `reframe_as_solvable_object` (Reframe as a Solvable Object) | 16 |\n| `C27` | `reframe_as_solvable_object` (Reframe as a Solvable Object) | 17 |\n| `C01` | `assumption_audit_and_pivot` (Audit and Pivot an Assumption) | 48 |\n| `C05` | `assumption_audit_and_pivot` (Audit and Pivot an Assumption) | 50 |\n| `C11` | `assumption_audit_and_pivot` (Audit and Pivot an Assumption) | 33 |\n| `C19` | `assumption_audit_and_pivot` (Audit and Pivot an Assumption) | 13 |\n| `C28` | `assumption_audit_and_pivot` (Audit and Pivot an Assumption) | 16 |\n| `C29` | `assumption_audit_and_pivot` (Audit and Pivot an Assumption) | 21 |\n| `C06` | `algebraic_equivalence_unification` (Prove Equivalence to Unify) | 59 |\n| `C04` | `heterogeneous_decomposition` (Decompose for Differentiated Treatment) | 47 |\n| `C09` | `architectural_operator_substitution` (Substitute the Operator or Representation) | 21 |\n| `C12` | `architectural_operator_substitution` (Substitute the Operator or Representation) | 18 |\n| `C14` | `architectural_operator_substitution` (Substitute the Operator or Representation) | 50 |\n| `C30` | `architectural_operator_substitution` (Substitute the Operator or Representation) | 20 |\n| `C13` | `structural_prior_encoding` (Encode Structure by Construction) | 17 |\n| `C16` | `structural_prior_encoding` (Encode Structure by Construction) | 28 |\n| `C20` | `structural_prior_encoding` (Encode Structure by Construction) | 16 |\n| `C10` | `characterize_limit_then_surpass` (Characterize a Limit, Then Surpass It) | 15 |\n| `C07` | `self_supervised_signal_engineering` (Manufacture the Supervisory Signal) | 22 |\n| `C08` | `self_supervised_signal_engineering` (Manufacture the Supervisory Signal) | 25 |\n| `C26` | `self_supervised_signal_engineering` (Manufacture the Supervisory Signal) | 19 |\n| `C17` | `targeted_self_supervised_objective` (Design a Property-Targeting Pretext Objective) | 15 |\n| `C02` | `controlled_diagnostic_design` (Design a Confound-Isolating Diagnostic) | 86 |\n| `C18` | `unify_into_shared_representation` (Unify Heterogeneous Inputs into One Space) | 82 |\n| `C03` | `adapt_via_conditioning` (Adapt by Conditioning, Not Retraining) | 18 |\n| `C15` | `generative_process_redesign` (Liberate a Fixed Generative Component) | 34 |\n| `C23` | `generative_process_redesign` (Liberate a Fixed Generative Component) | 14 |\n| `C24` | `generative_process_redesign` (Liberate a Fixed Generative Component) | 46 |\n| `C25` | `decompose_and_delegate` (Decompose and Delegate to Solvers) | 42 |\n| `C22` | `relax_discrete_search_to_continuous` (Relax Discrete Search to Continuous) | 35 |\n" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/intake-routing.md", "sha256": "234c9a1963c7e024d6365fb89844ed83ee29d494e8d64600a2dcf86d7541a3cd", "text": "# Intake routing — Phase 1 OOD triggers\n\nPhase 1 routes the user's input to one of two states: `proceed` (run Phase 2) or `do_not_generate` (emit a diagnosis explaining what's missing). This file documents the routing decisions.\n\n## OOD triggers — emit `do_not_generate.md`\n\nThe skill refuses to ideate (with concrete remedial steps) when any of these fires:\n\n1. **Too broad.** The user's problem is \"I want to do an AI paper\" or \"give me ideas in ML\" — no specific direction to ground a bottleneck against.\n2. **No anchor.** No clear domain, task, data, or baseline named — Phase 1 cannot identify what limitation the candidate would address.\n\nEach OOD case has a corresponding **remedial step** the skill suggests:\n\n- (1) → ask the user to narrow the direction (specific area + specific limitation).\n- (2) → ask the user to provide domain, task, baseline, and data.\n\nOther concerns (engineering-integration framing, no verifiable benchmark, venue-time mismatch, unobtainable resources) are NOT routed to `do_not_generate` — they surface naturally downstream:\n\n- Engineering-integration framing → Phase 2 generates a candidate that reads as engineering rather than research; reviewer-concerns-and-responses at Phase 4 surface this.\n- No verifiable benchmark → falsification_prediction has no metric to commit to, exposing the issue.\n- Venue-time mismatch → Phase 4's feasibility_validation catches with full context (compute_budget vs intake.compute, calendar against venue cycle).\n- Unobtainable resources → Phase 4's feasibility_validation.data and .compute catch with full context.\n\nPhase 1's OOD job is narrow: catch input the skill cannot do anything with. Inputs that the skill *can* generate against (even imperfectly) go through, and downstream phases handle their specific concerns.\n\n## State decision rule\n\n- `proceed` — bottleneck_statement can cite ≥ 2 paper_ids from lit_table that actually carry the bottleneck's residue, AND neither OOD trigger fires.\n- `do_not_generate` — either OOD trigger fires, OR lit_table has fewer than ~5 papers genuinely related to the user's direction (the rest are loose keyword matches), so a literature-grounded bottleneck cannot be written.\n\nIn all `do_not_generate` cases, populate `ood_reasons` (which trigger fired) and `remedial_steps` (concrete fields to add for re-invocation). Phase 1 does not pause to ask the user mid-flow — it emits the diagnosis and stops.\n" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/intent-recognition.md", "sha256": "5560bf6a8c27ea903ce8690e73ef6ca9fcf15f0460da9f630ac1855d513babbb", "text": "# Intent recognition\n\nGoal: turn the user's free-text input into 4 search queries (map mode; 3-5 with a stated reason — see the count rule below) or 3-5 signature terms (collision mode).\n\n## Map mode — query extraction\n\nUse a [CLASSIFY_FAST]-capable LLM with this system prompt:\n\n```\nYou read a user's research question and extract 4 search queries (3-5 only with a specific reason) to send to academic search APIs.\n\nReturn JSON: {\"queries\": [\"...\", \"...\"], \"named_papers\": [\"...\"], \"domain_hints\": [\"...\"], \"venue_hints\": [\"...\"]}\n\nRules:\n- Query 1: BROAD-DOMAIN — the high-level area, ~3-5 words. Example: \"diffusion model sampling efficiency\".\n- Query 2: METHOD-SIGNATURE — the specific technical move, ~5-8 words. Example: \"consistency model knowledge distillation\".\n- Query 3: MOST-SIMILAR-PROBLEM — the closest analogue problem, ~5-8 words. Example: \"score-based generative model fast inference\".\n- Query 4: ESCAPE-MECHANISM — the vocabulary a paper that *already fixed* this bottleneck would title itself with, ~4-7 words. A solver paper names itself by its solution (\"empirical Bayes shrinkage baseline\", \"global running reward statistic\"), not by the problem — so queries 1-3, all keyed on the problem, systematically miss exactly the closest prior work (the paper that scoops you). Reason about 1-2 plausible solution families for the stated bottleneck and phrase this query in that SOLUTION vocabulary, not the problem's. This query is load-bearing for recall; do not skip it.\n - **VOCABULARY-OWNERSHIP TEST — apply it before you commit this query.** Ask NOT \"would my field use these words\" (too weak — it passes for words my field merely borrows) but ***is my field the dominant OWNER of this phrase, or does a bigger field own it?*** Solution vocabulary is frequently OWNED by a much larger neighbouring literature, and a lexical search engine will return that literature no matter what else you add. Appending domain words does NOT rescue it: you cannot pull a small field out of a big field's vocabulary by adding terms. So: pick the solution words YOUR field OWNS (\"VLA memory eviction\", \"keyframe retention policy\"), not the generic technique name (\"KV cache compression\", \"token pruning\"). If the only solution vocabulary you can find belongs to the bigger neighbour, still write the query — it is the one channel that finds solution-named work — but expect it to be a low-yield probe.\n - **The weak form of this test is not enough.** A query can PASS \"would my field say this\" and still return mostly noise, because a bigger field owns the phrase and the generic modifiers pull their own crowds. Compare a topic whose vocabulary its field genuinely owns: diffusion watermarking gives `tree-ring semantic watermark inversion detection`, which pulls back exactly the solution-named papers it was aimed at. **Prefer a phrase that is unusable outside your field over one that is merely common inside it.**\n - **THE CONCRETE-OBJECT TEST — apply it to EVERY query, not just the escape one.** Each query must name at least one CONCRETE OBJECT the field manipulates — an artifact, a data structure, a unit of computation you could point at in a system (`keyframe`, `tutorial video`, `skill library`, `agent trajectory`, `workflow memory`, `visuomotor policy`). A query built only from regime, property and framework names retrieves whichever field owns those names. This predicts yield where the query's ROLE does not. The escape role is NOT inherently low-yield — a low-yield escape query is a bad query, not a cost of the role.\n - The magnets are NOUN PHRASES naming a research regime, not just adjectives: `test-time adaptation`, `model predictive control`, `world model`, `memory augmented`, `in-context learning`, `neural solver`. Each is owned by a literature far larger than yours and none contains a suspect adjective, so an adjective-keyed check passes them. Generic ML adjectives (`invariant`, `unsupervised`, `efficient`, `robust`, `adaptive`) fail the same way — they select on the modifier, not on your problem. Where a regime name is genuinely the subject, anchor it to an object rather than to another regime.\n- Query 5 (add on a stated reason; a 6th is rarely justified): APPLICATION-ANGLE (~3-5 words) or VENUE-INSIDER (~5-8 words). **Default to 4.**\n - What the cap does: every connector's cap SATURATES and the merge is round-robin, so each query takes a guaranteed share of a fixed number of slots. A 5th query gets no free slots — it takes them from the other four.\n - **The risk is that the 5th query is BAD, not that it is fifth** — the same mechanism cuts both ways. Dropping low-yield queries helps, and adding a genuinely high-yield 5th also helps. Queries barely overlap in practice, which is why a good addition mostly adds rather than displaces.\n - So the gate is QUALITY PER SLOT, not count — and it must be decidable BEFORE retrieval, which \"reaches papers the first four cannot\" is not. Admit a 5th query when it (a) passes the VOCABULARY-OWNERSHIP and CONCRETE-OBJECT tests above, and (b) is phrased in a vocabulary community none of the first four sits in — a different ROLE is not enough, since role does not predict yield. Judge by the distinct work a query brings back, not by its purity.\n\nnamed_papers: every paper, system or model the user NAMED but gave no link for (\"Cosmos\", \"AdaWorld\", \"the LoRA paper\") — full titles where you know them, the user's wording otherwise. A URL or arXiv ID is picked up by a regex and needs no entry here; a bare name is not, and without an entry it never reaches the deep-read pool and never becomes an anchor the candidate is differentiated against. `[]` when the query names none. Give the FULL title when you know it: a bare nickname two papers lead with (\"Genie\") is reported ambiguous and left unresolved rather than guessed at. You are already reading the query to write the search terms, so produce this in the same pass.\n\ndomain_hints: 1-3 lowercase tags (e.g. \"nlp\", \"rl\", \"diffusion\").\nvenue_hints: 0-3 venue names if the user mentioned them.\n\nNo quotes around individual words; no boolean operators; just plain phrases for arXiv/OpenAlex full-text search.\n\n**OOD short-circuit (return early)**: If the user_query is too broad to produce 3-5 specific queries — i.e., it matches the parent skill's `../../idea_spark/references/intake-routing.md` OOD trigger #1 (\"Too broad\", e.g., \"I want to do an AI paper\", \"give me ideas in ML\", \"what should I work on at NeurIPS\") OR trigger #2 (\"No anchor\": no domain / task / data / baseline named) — DO NOT attempt to produce broad-noise queries. Return JSON `{\"ood\": true, \"trigger_id\": 1 | 2, \"trigger_quote\": \"...\", \"match_evidence\": \"...\"}` instead. The orchestrator-side handshake re-uses this signal to skip Phase 0 retrieval entirely and proceeds straight to Phase 1's do_not_generate emission. Producing broad-noise queries (e.g., \"machine learning recent advances\") wastes 30+ seconds of API calls on a lit_table nobody can consume; the OOD short-circuit is honest and saves the work.\n```\n\n### Worked example\n\nUser input: \"I'm working on speeding up diffusion model sampling — currently I distill an EDM teacher into a student via consistency loss.\"\n\nOutput:\n```json\n{\n \"queries\": [\n \"diffusion model sampling acceleration\",\n \"consistency distillation diffusion student teacher\",\n \"score model fast inference few step\",\n \"distillation-free higher-order ODE solver sampler\"\n ],\n \"named_papers\": [\"Elucidating the Design Space of Diffusion-Based Generative Models\"],\n \"domain_hints\": [\"diffusion\", \"generative-models\"],\n \"venue_hints\": []\n}\n```\n\n`named_papers` carries the EDM teacher: the user named it with no link, so the regex cannot see it, and without this entry the paper the whole method builds on would never enter the deep-read pool. The full title is given because it is known; the user's own wording would be acceptable.\n\nFour queries, not six — the 5th/6th (\"EDM consistency model\", \"diffusion sampling efficiency reviewer\") were dropped because neither reaches papers the first four cannot, and under a saturated cap each would have taken a guaranteed share from the four that do.\n\nNote the escape query (#4) passes the native-vocabulary test: \"higher-order ODE solver\" is how the diffusion-sampling community itself names that solution family, so it retrieves that community's papers. The failing version of the same idea would have been a generic systems phrase like \"adaptive step size scheduling\", which is owned by numerical-analysis and would return that literature instead.\n\n## Collision mode — signature + alias extraction\n\nUse the same [CLASSIFY_FAST] LLM with this prompt:\n\n```\nYou read a candidate research idea and extract TWO term sets: 3-5 signature terms (the candidate's own vocabulary) and 2-4 alias terms (other communities' names for the same mechanism).\n\nReturn JSON: {\"signature_terms\": [\"...\", \"...\"], \"alias_terms\": [\"...\", \"...\"]}\n\nsignature_terms rules:\n- Each term is 3-7 words.\n- Cover (a) the mechanism, (b) the claim, (c) the setting/setup. One term per facet, plus 1-2 specific identifiers (e.g. dataset name, theorem name).\n- Avoid generic terms (\"deep learning\", \"transformer\") — they retrieve too much noise.\n- Prefer noun phrases over verb phrases.\n- These terms will be sent verbatim to a BM25 retriever AND embedded for cosine search, over a RECENT window (scoop risk).\n\nalias_terms rules:\n- Each term is 3-7 words, naming the SAME core mechanism in a vocabulary the candidate's own community does not use.\n- This is a parametric-knowledge step: \"if a reward-modeling / classical-CV / RL / NLP / theory group had built this mechanism 2-3 years ago, what would their titles call it?\" Same-mechanism ancestors usually exist under a different name — a \"goal-image conditioned scorer for task completion\" is elsewhere a \"goal-conditioned success detector\" or \"goal-image reward model\".\n- Do NOT paraphrase signature_terms — a paraphrase retrieves what the signature channel already retrieves. Change the community, not the wording.\n- These terms run over a MULTI-YEAR window (renamed-ancestor risk).\n```\n\n### Worked example\n\nIdea input:\n```\ntitle: \"Truncated-step training for diffusion samplers\"\ncore_mechanism: \"Skip the timesteps below threshold T0 during training, where T0 is identified analytically from a Lipschitz-constant argument\"\nnovelty_claim: \"Provably reduces compute without changing terminal sample quality\"\n```\n\nOutput:\n```json\n{\n \"signature_terms\": [\n \"diffusion sampler timestep truncation\",\n \"Lipschitz constant noise schedule\",\n \"score function singularity boundary\",\n \"training-free sampling acceleration\",\n \"EDM truncated training\"\n ],\n \"alias_terms\": [\n \"annealed Langevin early stopping\",\n \"SDE solver step-size adaptivity bound\",\n \"curriculum over noise levels\"\n ]\n}\n```\n\n## Calibration\n\nAfter running on 5-10 user examples, check:\n\n- Do the queries actually retrieve relevant papers? If query 1 returns the same set as query 2, drop one.\n- Are the signature terms specific enough to filter out generic noise? If retrieval returns 100+ papers and only 5 are relevant, the signature is too broad — re-prompt with stricter examples.\n- Does the LLM produce consistent JSON across runs? If not, lower the temperature in the script.\n" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/pattern-summary-rubric.md", "sha256": "743bcb71345a96edb6d796b00b078a25a2d859981404fd07f4d5d1b7140ff755", "text": "# Pattern summary rubric — assigning ideation patterns to retrieved papers\n\nGoal: for each paper in the merged top-30 of a map-mode result, assign 1-3 of the 15 induced ideation patterns that the paper executes (not just mentions). These per-paper tags populate the `ideation pattern tags` column of `lit_table.md`; the parent skill's Phase 1 derives the distribution + saturation flags from that column directly.\n\n## The 15 ideation patterns (id → name)\n\n1. `assumption_audit_and_pivot` — Audit and Pivot an Assumption\n2. `architectural_operator_substitution` — Substitute the Operator or Representation\n3. `generative_process_redesign` — Liberate a Fixed Generative Component\n4. `controlled_diagnostic_design` — Design a Confound-Isolating Diagnostic\n5. `unify_into_shared_representation` — Unify Heterogeneous Inputs into One Space\n6. `reframe_as_solvable_object` — Reframe as a Solvable Object\n7. `self_supervised_signal_engineering` — Manufacture the Supervisory Signal\n8. `structural_prior_encoding` — Encode Structure by Construction\n9. `algebraic_equivalence_unification` — Prove Equivalence to Unify\n10. `heterogeneous_decomposition` — Decompose for Differentiated Treatment\n11. `decompose_and_delegate` — Decompose and Delegate to Solvers\n12. `relax_discrete_search_to_continuous` — Relax Discrete Search to Continuous\n13. `adapt_via_conditioning` — Adapt by Conditioning, Not Retraining\n14. `characterize_limit_then_surpass` — Characterize a Limit, Then Surpass It\n15. `targeted_self_supervised_objective` — Design a Property-Targeting Pretext Objective\n\nFull operational signatures live in the parent skill's [ideation patterns overview](../../idea_spark/references/ideation-patterns/overview.md). For pattern summary we use the short form below. The `id` values above are the authoritative vocabulary — they must match the parent skill's `pattern_id` set exactly, since Phase 1 and Phase 2.1 join on these ids.\n\n## Decision rule (for each paper)\n\nRead the abstract and ask, in order:\n\n1. Does the paper **identify an implicit assumption a result or defense rests on, then relax it to a weaker condition (and re-derive the guarantee) or violate it with a counterexample/exploit (and demonstrate the new behavior)**? → `assumption_audit_and_pivot`.\n2. Does the paper **replace an expensive operator or representation with a cheaper surrogate and argue the surrogate preserves the essential property** (expressivity, sensitivity, curvature, function-space coverage)? → `architectural_operator_substitution`.\n3. Does the paper **take a conventionally-fixed component of an iterative or staged procedure** (terminal prior, schedule, endpoints, latent code, conditioning interface) **and redesign it as a free design variable** to gain quality or efficiency? → `generative_process_redesign`.\n4. Does the paper **diagnose a confound inflating a measurement and build controlled instances / matched pairs that isolate the true property from the artifact**? → `controlled_diagnostic_design`.\n5. Does the paper **map heterogeneous inputs/tasks/modalities into one shared representation, vocabulary, or objective and process them with a single uniform model**? → `unify_into_shared_representation`.\n6. Does the paper **recast an intractable problem as a well-studied object** (subset selection, game, constraint satisfaction, supervised relabeling, etc.) **and solve it with that object's existing machinery**? → `reframe_as_solvable_object`.\n7. Does the paper **derive a supervisory signal from the model's own outputs / uncertainty / generated samples** (pseudo-labels, self-training, self-distillation) **to substitute for missing ground-truth labels**? → `self_supervised_signal_engineering`.\n8. Does the paper **encode a known invariant, symmetry, or structure directly into the operator or representation so it holds by construction**? → `structural_prior_encoding`.\n9. Does the paper **prove an algebraic equivalence between distinct procedures or objectives and collapse the stages or unify them into one principled form**? → `algebraic_equivalence_unification`.\n10. Does the paper **partition a heterogeneous resource by a discriminating property and apply a tailored operation to each partition**? → `heterogeneous_decomposition`.\n11. Does the paper **decompose a monolithic task into sub-problems and route each to the best-suited (learned or symbolic/external) solver via structured intermediate artifacts**? → `decompose_and_delegate`.\n12. Does the paper **relax a discrete structural search into a differentiable or amortized form and jointly optimize the structure with the task objective**? → `relax_discrete_search_to_continuous`.\n13. Does the paper **express a new task as conditioning** (in-context examples, retrieval, goals, unified input format) **and solve it at inference without parameter updates**? → `adapt_via_conditioning`.\n14. Does the paper **formalize a method class's exact distinguishability or expressivity limit as a separation criterion and construct an augmented operator that provably exceeds it**? → `characterize_limit_then_surpass`.\n15. Does the paper **design a label-free pretext objective that only a target structural property minimizes, training the representation to encode that property**? → `targeted_self_supervised_objective`.\n\nIf 2+ rules trigger, list the strongest 2-3. If none triggers cleanly, mark `outside_taxonomy`.\n\n## Output\n\n```json\n{\n \"papers\": [\n {\n \"paper_id\": \"...\",\n \"primary\": \"\",\n \"supporting\": [\"\", ...]\n // resolves_problem field is OMITTED for the typical paper. Include it ONLY when\n // the paper genuinely closes a sub-part of the ideation pattern's load-bearing problem\n // (high bar; ≤ 5% of papers — see decision rule below). Empty / missing field is\n // the common case and tells Phase 1 persistence check \"this paper executes the\n // pattern but does not resolve it\".\n },\n ...\n ]\n // distribution / saturated / under_used / narrative are NOT emitted here — Phase 1\n // Step 1.0 recomputes the ideation pattern distribution and saturation flags from the\n // per-paper tags directly (aggregating by tag × time bucket). Don't duplicate.\n}\n```\n\nWhen a paper DOES resolve part of an ideation pattern's load-bearing problem, append to its entry:\n\n```json\n\"resolves_problem\": [\n {\"pattern_id\": \"\", \"what_resolved\": \"\"}\n]\n```\n\n## `resolves_problem` decision rule (high bar)\n\nFor each paper assigned an ideation pattern in `primary` or `supporting`, ask separately: does this paper claim to **definitively close** a sub-part of the ideation pattern's load-bearing problem (the open problem the ideation pattern's historical Oral pattern addresses), or does it merely **execute** the ideation pattern by instantiating one more solution?\n\nMost papers EXECUTE the ideation pattern and add to its open frontier — they do NOT resolve. The bar for `resolves_problem`:\n\n- The paper proves an exhaustive characterization (e.g., \"all relaxations of A under condition C reduce to one of these K forms\")\n- The paper provides a definitive impossibility / lower bound that closes the space\n- The paper's abstract or claimed contribution explicitly says the work \"closes\", \"settles\", \"characterizes\", or \"resolves\" — not just \"extends\" or \"improves\"\n- The paper is itself widely-cited as the reference work for that sub-problem\n\nIf the paper executes the ideation pattern but does not close the space, OMIT this paper from `resolves_problem`. Empty `resolves_problem: []` is the common case; expect ≤ 5% of retrieved papers to have a non-empty `resolves_problem`.\n\nThis field feeds Phase 1's persistence check in the parent skill: `current_live_status: closed` requires ≥ 2 papers ≤ 12mo with the relevant `pattern_id` in their `resolves_problem` — positive count, not absence inference. Pre-2024 papers are eligible too (the closure stands regardless of when it happened).\n\n## Calibration\n\nThe rubric is intentionally narrow — most ML papers are best described by 1-3 of these ideation patterns. If you find that >30% of retrieved papers are `outside_taxonomy`, the user's query is in a niche the 15-ideation pattern vocabulary doesn't cover; in that case emit a `taxonomy_coverage_warning` and prefer `outside_taxonomy` to forced fits.\n" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/regression-directions.md", "sha256": "d20dc3b3723f11e746b29cbfe3db36f81b9bbdcbe6397d682204c9e719b995ea", "text": "# Regression direction set\n\nPurpose: after any prompt/pipeline change, replay a FIXED set of directions that\ndiffer in problem shape and confirm the pipeline still behaves correctly on\nevery shape — not just the shape the change was designed for. A change that\nhelps method-shaped ideas but breaks theory-shaped ones is a regression, not an\nimprovement.\n\n## How to replay cheaply\n\nPhase 0 (retrieval) and Phase 1 (bottleneck) are the expensive, largely\ndeterministic-in-value stages. Reuse them:\n\n1. Pick a past run of the direction (any completed run whose `phase0/` and\n `phase1/` exist).\n2. Create a fresh run dir and copy ONLY `phase0/` and `phase1/` into it.\n3. Replay from Phase 2.1 onward (`next` will route you there).\n4. To isolate a generation-side change, additionally pin Phase 2.1 by copying\n `phase2_select/` too, so 2.2/2.3 variance is the only thing measured.\n\nNever commit run dirs; they are local fixtures.\n\n## Criteria are PROPERTY-level, not content-level\n\nThe generator is stochastic: two replays legitimately produce different ideas.\nJudging \"did it produce the same (or a specific) idea\" is meaningless. Judge\nstructural properties of whatever idea it produced. The deterministic subset of\nthese properties is checked by `scripts/regression_check.py `; the\njudgment-level ones (marked ⚖) need a human or fresh-context LLM read.\n\n## The directions (cover all four shapes)\n\n### D1 — method + statistics shape (e.g. speculative-decoding verification scheduling)\nThe mechanism consumes SAMPLED observations under a feedback loop, so the\nobservation-model premise, estimand declaration, and T5 naive comparison must\nall fire with real content.\n- regression_check: BLOCK 2 branch declared; T5 verdict present with a numeric\n divergence; verdict=patched ⇒ refined_candidate.json exists; claims mapped.\n- ⚖ if branch (i): the shipped mechanism is NOT the naive version with\n cosmetics (T5 divergence is non-trivial and traced to the declared obstacle);\n statistical guarantee claims carry an executed-mc arbitration with a\n measured number.\n\n### D2 — generative / perception shape (e.g. diffusion image watermarking)\nClaims here are often constructive (\"residual is exactly zero by\nconstruction\"), not statistical. The grading must NOT misapply Monte Carlo to\nnon-statistical claims.\n- regression_check: claim_step_map entries have valid strength_grade values\n when present; no `executed-mc` arbitration on claims with no sampling\n distribution.\n- ⚖ guarantee-grade wording (\"exact\", \"zero\") is either `established` by a\n construction step or downgraded/conditioned — never left as a bare assertion.\n\n### D3 — systems / scheduling shape (e.g. serving-time compute allocation)\nMechanisms are procedural; the T2 dry-run and degenerate probes carry the load.\n- regression_check: dry_run has computed_quantities; when an execution tool was\n available, dry_run.execution.mode is `executed` with script+output.\n- ⚖ T3 probes cover the resource-exhaustion edges (queue empty, budget 0,\n all-identical requests), not just generic empty-set probes.\n\n### D4 — theory shape (e.g. transformer single-particle dynamics / equivalence results)\nThe MANDATORY n/a-path test: this direction must exercise every conditional\nescape WITHOUT fabrication.\n- regression_check: no fabricated naive_comparison — T5 verdict `n_a` requires\n a non-empty reasoning; observation-model premise either real or the literal\n n/a form; stakes clauses exist on every gap.\n- ⚖ stakes are allowed to be purely intellectual costs (invalid conclusions,\n non-transfer) — the pipeline must NOT have forced a fake practitioner\n scenario; theorem-shaped claims are graded `conditional` with proof\n obligations, not \"verified\" by a dry run.\n\n### D5 (optional) — cross-modal robotics / embodied shape\nExercises the thin-corpus declaration path (few domain-adjacent exemplars in\nthe pattern corpus).\n- ⚖ thinness is declared in how_closed rather than papered over; audit judged\n against abstract Step-by-Step moves.\n\n## Pass rule\n\nA change ships only if regression_check is green on ALL replayed directions and\nno ⚖ criterion regressed relative to the pre-change replay of the same\ndirection. One direction improving while another regresses = do not ship;\nfind the conditional formulation that spares the regressed shape.\n" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/relevance-partition-rubric.md", "sha256": "a55ad7fc652252d0de2cc4b1ba07edbcee18324518c694942c2303b554116edf", "text": "# Phase 0.4 — Relevance partition rubric\n\nYou are the **relevance gate** between a wide retrieval net and the expensive\nper-paper tagging + deep-read. Retrieval deliberately over-fetches (saturated\nconnector caps), so a chunk of what came back is off-topic noise or adjacent\ncontext. Your one job: read every retrieved record's **title + abstract** and\nsort each into exactly one bucket, so the gap diagnosis and deep-read pool see a\nclean corpus.\n\nUse **your own model** — this is open-ended relevance judgment, not mechanical\nclassification. Do NOT downgrade to a cheap tier.\n\n## Input\n`lit_results.json` — the raw deduped retrieval pool (title + abstract per record)\n+ the user's original research question/direction.\n\n## The three buckets\n\n- **`core`** — squarely on the research direction: the mechanism/problem the user\n asked about, studied in the user's setting (or a near-neighbor of it). These\n form the gap cluster and are the only papers eligible for the deep-read pool.\n- **`adjacent`** — same field, genuinely useful as **background / baseline /\n backbone / benchmark**, but NOT an instance of the mechanism the gap is about.\n Examples for a \"memory mechanism in VLA\" direction: base policies (OpenVLA, π0,\n Octo), pure spatial/tactile/reasoning VLA work with no memory component,\n world-model or eval-only papers. Kept in the corpus and citeable, but never\n consumes a deep-read slot.\n- **`off_topic`** — clearly outside the research direction. **Drop.** The usual\n culprits are **cross-domain false positives** from broad keyword matching\n (e.g. \"memory-augmented\" matching wireless-network resource allocation,\n recommender systems, fake-news NLP), **pure surveys/reviews**, and papers from\n an unrelated field the connector mis-ranked in.\n\n## The one rule that matters: be conservative on the core/adjacent line\n\nA wrong `off_topic` is a **recall loss the rest of the pipeline can never undo** —\na dropped paper is invisible to Phase 1, deep-read, and collision. So:\n\n- **When unsure between `core` and `adjacent`, choose `core`.** Over-inclusion\n costs one tagging row; under-inclusion silently narrows the gap.\n- **Only hard-label `off_topic` when you are confident** the paper is outside the\n direction — a different domain, or pure survey. If a paper is in the right field\n but you're unsure how central it is, it is `adjacent`, not `off_topic`.\n- Do not off_topic a paper merely for being older, less novel, or a baseline —\n that is what `adjacent` is for.\n\n## Output\n\nA JSON list, one entry per input record, **every paper_id appearing exactly once**:\n\n```json\n[\n {\"paper_id\": \"arxiv:2606.20092v2\", \"relevance\": \"core\", \"reason\": \"event-driven keyframe memory for long-horizon VLA — exactly the mechanism cluster\"},\n {\"paper_id\": \"dblp:...openvla\", \"relevance\": \"adjacent\", \"reason\": \"base VLA policy memory work builds on; backbone/baseline, no memory mechanism of its own\"},\n {\"paper_id\": \"openalex:W...\", \"relevance\": \"off_topic\", \"reason\": \"memory-augmented model for cognitive-radio resource allocation — wrong domain, keyword false positive\"}\n]\n```\n\nReturn the output path and a one-line count (`N core / M adjacent / K off_topic`).\n" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/schemas.md", "sha256": "94cf1024416b233c14414aa955843e33553a007eb019bff1c1fd5f015967da7d", "text": "# JSON schemas\n\n## `lit_results.json` (map mode)\n\n```json\n{\n \"query\": \"\",\n \"queries_run\": [\"...\", \"...\"],\n \"retrieved_at\": \"\",\n \"n_papers\": ,\n \"papers\": [\n {\n \"paper_id\": \"\",\n \"title\": \"...\",\n \"abstract\": \"...\",\n \"year\": ,\n \"year_month\": \"YYYY-MM\",\n \"venue\": \"...\",\n \"authors\": [\"...\"],\n \"citations\": ,\n \"source\": \"openalex | arxiv | openreview | semanticscholar\",\n \"arxiv_id\": \"...\",\n \"openreview_id\": \"...\",\n \"doi\": \"...\",\n \"paper_url\": \"...\",\n \"primary_pattern\": \"\",\n \"supporting_patterns\": [\"\", ...],\n \"bottleneck_targeted\": \"\",\n \"open_issue\": \"\",\n \"resolves_problem\": [\n {\"pattern_id\": \"\", \"what_resolved\": \"\"}\n ],\n \"retrieved_via\": \"arxiv | openalex | semanticscholar | openreview | webfallback\"\n }\n ],\n \"retrieved_at\": \"\",\n \"lit_grounding_mode\": \"real | webfallback | inline_unverified\",\n \"warnings\": [\"...\"]\n}\n```\n\n`year_month`, `primary_pattern`, `supporting_patterns`, `bottleneck_targeted`, `open_issue`, and `resolves_problem` are populated during Step 4 pattern summary. Pre-Step-4 papers (raw retrieval output) carry only the connector-level fields above the line.\n\n## `lit_table.md` (map mode)\n\nMarkdown table with one row per paper, used by the parent idea-spark's Phase 1 lens probing. Columns:\n\n```markdown\n| paper_id | year_month | venue | title | ideation pattern tags | bottleneck this paper targets | open issue / unresolved gap | resolves_problem | retrieved_via |\n|---|---|---|---|---|---|---|---|---|\n| ICLR_2024_xxxx | 2024-05 | ICLR | ... | {audit, sharpen} | \"i.i.d. binding in OOD regime\" | \"extension to non-i.i.d. unaddressed\" | \"\" | arxiv |\n| NeurIPS_2024_yyyy | 2024-12 | NeurIPS | ... | {audit} | \"i.i.d. assumption\" | \"\" | \"assumption_audit_and_pivot: exhausts head-init/feature-stability/data-rebalancing tradeoff for supervised OOD\" | openalex |\n```\n\n- `ideation pattern tags`: `primary_pattern` first, then `supporting_patterns`.\n- `resolves_problem`: empty string when the paper does not definitively close any ideation pattern's load-bearing problem (the common case, ~95% of rows). When non-empty, format is `: `; multiple entries separated by `;`.\n- `retrieved_via`: which connector the paper came from. `arxiv | openalex | semanticscholar | openreview` when retrieval was via API; `webfallback` only when `lit_grounding_mode = webfallback` and the row was retrieved via WebSearch in the absence of any working connector. The parent idea-spark's Phase 1 spot-checks this column: > 50% `webfallback` rows downgrades the run to webfallback even if the orchestrator nominally reported `real`.\n- 40-100 rows total.\n\nThe orchestrator (`idea_spark/scripts/run.py phase0`) writes `.lit_grounding_mode` and `.retrieved_at` sentinel files alongside `lit_table.md`. These are the canonical source-of-truth for downstream phases; do not infer mode from any other signal.\n\n## `collision_hits.json` (collision mode)\n\nSame per-paper shape as `lit_results.json` rows (title, abstract, year, citations, source, ids). No classification — collision retrieval is retrieval-only; the parent skill's Phase 3.2 `paper_pointed_threat` audit does substantive subsumption judgment over `lit_table.md ∪ collision_hits.json`.\n\n## Internal paper format (for cross-source dedup)\n\nEach connector emits papers in this shape; `dedup_merge.py` consumes them.\n\n```json\n{\n \"title\": \"...\",\n \"title_norm\": \"\",\n \"abstract\": \"...\",\n \"year\": ,\n \"venue\": \"...\",\n \"authors\": [\"...\"],\n \"citations\": ,\n \"source\": \"openalex | arxiv | openreview | semanticscholar\",\n \"source_id\": \"...\",\n \"doi\": \"...\",\n \"paper_url\": \"...\"\n}\n```\n\nAfter dedup, the merged record gets a `paper_id` of `:`.\n\n## Validation\n\nAll output JSON files are schema-validated against the structures above before being returned. Failures raise; partial output is never silently emitted.\n\nFor `lit_table.md`, validation checks: 40 ≤ rows ≤ 100; every `paper_id` matches one in `lit_results.json`; `year_month` parses as YYYY-MM; `ideation pattern tags` non-empty (use `outside_taxonomy` if no fit). The `resolves_problem` column has no minimum count — empty across all rows is allowed when the corpus has no recent settling papers.\n" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/setup.md", "sha256": "f209e2f8c058dccc958505dd9ca68b0c848556f5b3fc7de3c7d2abee489e9016", "text": "# Idea Spark — Setup (first use only)\n\nRead this once when installing the skill; at run time SKILL.md never needs this file. The skill's Phase 0 + Phase 3.1 retrieval needs API credentials for 2 of the 4 connectors. Without them the affected connectors are skipped and the orchestrator continues with whichever connectors are available — but it prints a prominent **CONNECTORS DEGRADED** banner and writes a `.connectors_degraded` marker so a partial run is never mistaken for a full one.\n\n0. **Set two shell variables once per session** — where this skill is installed, and where run outputs should go. Neither depends on the harness:\n ```bash\n SKILL_DIR=~/.claude/skills/idea-spark # Claude Code default; Codex CLI: ~/.codex/skills/idea_spark; else wherever this folder lives\n RUN_DIR=\"$PWD/ideaspark_run/\" && mkdir -p \"$RUN_DIR\" # convention: one run = one dir under ideaspark_run/, kebab-case topic slug; any absolute dir works\n ```\n `RUN_DIR` is purely an output anchor — the orchestrator only ever sees the absolute `--out` paths you pass, so the variable *name* does not matter (Claude Code sessions can reuse the injected `CLAUDE_PROJECT_DIR` as their `RUN_DIR`). The orchestrator hard-fails early with an actionable message when a path argument contains an unexpanded `$variable`, collapses to filesystem root (empty expansion, e.g. `/phase0`), or is a relative `--out` — instead of a confusing `FileNotFoundError` mid-run.\n\n1. **Install the skill**: `idea-spark` — Phase 0 literature search runs from its bundled connector scripts (no separate sub-skill). On non-Claude-Code harnesses, clone or copy this folder anywhere and point `SKILL_DIR` at it.\n\n2. **Install Python deps** (cross-platform — macOS & Linux): `python3 -m pip install feedparser openreview-py beautifulsoup4 pymupdf`. Four lean packages. Skipping this is the most common first-run failure: `arxiv` errors with `package not installed`, and missing `pymupdf`/`beautifulsoup4` silently degrades every full-text fetch to abstract-only.\n - **PEP 668 systems** (recent macOS/Homebrew & Ubuntu 23.04+) reject a bare `pip install` with `externally-managed-environment`. Two safe options:\n - **venv (recommended):** `python3 -m venv .venv && source .venv/bin/activate && pip install feedparser openreview-py beautifulsoup4 pymupdf` — then launch every phase **from this same activated shell** (see the connector-degradation note below).\n - **user install:** `python3 -m pip install --user --break-system-packages feedparser openreview-py beautifulsoup4 pymupdf`.\n - **Use the SAME interpreter everywhere.** `check_connectors` and the phase commands must run under the one Python that has these packages. A package installed for `pip3` but launched under a different `python3` (or a background/non-login shell that drops `--user` site-packages) will pass `check_connectors` yet skip `arxiv`/`openreview` at runtime — the run prints a loud **CONNECTORS DEGRADED** banner and drops a `.connectors_degraded` marker when that happens.\n - **Optional deps (only if you want the extras):** PDF compilation of the idea card needs **xelatex** *or* **tectonic** (macOS `brew install --cask mactex-no-gui` or `brew install tectonic`; Ubuntu `sudo apt-get install texlive-xetex` or `cargo install tectonic`). Without either, the `.md`/`.tex` cards are still written and only the PDF is skipped (with a hint). The optional pipeline-diagram image needs the `azure-*` packages; absent, it is skipped silently.\n\n3. **Copy** the env template at the project root: `cp .env.template .env`.\n\n4. **Fill in keys** (priority order — by impact on retrieval quality):\n\n| Key | Required for | How to get |\n|---|---|---|\n| `OPENREVIEW_USER` + `OPENREVIEW_PASS` | OpenReview connector (in-review forward signal). Without these, openreview is silently skipped — you lose the 0-6mo in-review window unique to it. | Free signup at https://openreview.net |\n| `SEMANTICSCHOLAR_API_KEY` | Semantic Scholar connector at usable rate. Anonymous tier (~100 req/5min) hits 429 on Phase 0 multi-query batches; with key it's stable at 1 req/s. | Free apply at https://www.semanticscholar.org/product/api#api-key-form (≈24h review). Connector still runs anonymously without it but will frequently 429. |\n| `OPENALEX_API_KEY` | Optional, premium rate. Polite-pool already works for typical Phase 0 load. | Apply at openalex.org if you exceed polite limits. |\n\n5. **Verify** (from the SAME shell/venv you will launch phases from): `python3 \"$SKILL_DIR/scripts/run.py\" check_connectors` — should show ✅ for all 4 connectors AND the two full-text fetch deps (`pymupdf`, `beautifulsoup4`). If you verify in one shell but run phases in another, the package set can differ — keep it one shell.\n\n6. **The orchestrator auto-loads `.env`** at runtime (walks up from skill dir to find `.env`), so you do NOT need to `source .env` in your shell. Shell-set env vars take precedence over `.env` values, so you can override on the fly.\n\n7. **Optional — standing compute profile**: if your real budget differs from the factory default (80GB-class GPUs, ≤8 concurrent, ≈150 GPU-days / 5 months, ~$10k API campaign), add one line to `.env` instead of re-typing it per run: `IDEASPARK_DEFAULT_COMPUTE=\"8×H100 node, ~300 GPU-days, $50k API budget\"`. Precedence: compute stated in your query > this profile > factory default.\n\nIf a connector shows ❌, it's either missing creds (fix in `.env`) or missing the pip package (the error message tells you which `pip install` to run). If a full-text dep shows ⚠️, run `pip install feedparser openreview-py beautifulsoup4 pymupdf`.\n" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/source-routing.md", "sha256": "7cef0e653290592a3bf0d343172aef46da259402f1f0f56ee339d975c28abe5c", "text": "# Source routing — which connector handles which query type\n\n## arXiv — [scripts/search_arxiv.py](../scripts/search_arxiv.py)\n\n- **Strength**: freshest preprints, no auth, full abstracts.\n- **Use for**: 6-month freshness scan in map mode; 6-month focused window in collision mode.\n- **Auth**: none.\n- **Rate**: throttle to 3 req/s. Use the `export.arxiv.org/api/query` endpoint with `sortBy=submittedDate&sortOrder=descending`.\n\n## OpenAlex — [scripts/search_openalex.py](../scripts/search_openalex.py)\n\n- **Strength**: comprehensive academic graph (~250M works), full abstracts, citation counts. Broad coverage including journals + adjacent fields.\n- **Use for**: peer-reviewed proceedings + journals (6-24mo) in both map and collision modes.\n- **Auth**: `OPENALEX_API_KEY` from env. Without it the polite-pool still works but rate is lower.\n- **Rate**: ≥10 req/s with key, ≥1 req/s without. The connector pages with `cursor` for stable pagination.\n- **Caveat**: OpenAlex's broad indexing causes some drift (~11% of hits drift to adjacent fields like biology/medicine for ML queries). Combine with Semantic Scholar to compensate.\n\n## Semantic Scholar — [scripts/search_semanticscholar.py](../scripts/search_semanticscholar.py)\n\n- **Strength**: CS-focused academic graph (~200M works), returns **TLDR auto-summary** (Allen-AI 1-sentence) and **`externalIds` block** with DOI + ArXiv ID + DBLP key + MAG ID + PMID — enabling cross-source dedup without title-only matching.\n- **Use for**: peer-reviewed proceedings + journals (6-24mo). DBLP keys arrive via `externalIds`, so no standalone DBLP connector is needed.\n- **Auth**: `SEMANTICSCHOLAR_API_KEY` strongly recommended. Apply free at https://www.semanticscholar.org/product/api#api-key-form\n- **Rate**: 1 req/sec **cumulative across all SS endpoints** (introductory key tier); ~100 req/5min anonymous (bursty, frequent 429s). Connector sleeps 1.1s between calls when authenticated.\n- **Caveat**: similar drift to OpenAlex (~73% on-topic in test) — keyword-search-driven, not topic-classified.\n\n## OpenReview — [scripts/search_openreview.py](../scripts/search_openreview.py)\n\n- **Strength**: in-review submissions for ICLR / NeurIPS / ICML — sees concurrent work that hasn't yet hit arXiv or peer-reviewed venues. Forward signal.\n- **Use for**: catching very-recent in-review work (0-6 months); concurrent-work check at collision time.\n- **Auth**: `OPENREVIEW_USER` + `OPENREVIEW_PASS` from env (the orchestrator at `idea_spark/scripts/run.py` auto-loads `.env`).\n- **Rate**: strict — single thread, 1 req/s, retry-after-429 backoff up to 600s. Per-query cost ~7s with `get_notes(limit=500, sort='cdate:desc', mintcdate=since_ms)`.\n- **Performance note**: connector uses `get_notes(limit=500, ...)` to fetch only the most recent 500 notes within the date window (~7s/query). The orchestrator gives openreview a 600s timeout as safety margin.\n\n## Source selection rules\n\n```\nmode=map: arXiv(0-6mo) + OpenAlex(6-24mo) + SemanticScholar(6-24mo) + OpenReview(0-6mo)\nmode=collision: arXiv(0-6mo) + OpenAlex(0-6mo) + SemanticScholar(0-6mo) + OpenReview(0-6mo)\n```\n\nIf any source is unavailable (429 after retries, network down), continue with the others and emit a `lit_source_unavailable: ` warning. Do not silently skip.\n\n## Dedup priority order\n\nWhen the same paper appears in multiple sources after title-normalization:\n\n1. Prefer **Semantic Scholar** record (richest cross-IDs in `externalIds`: DOI + ArXiv + DBLP keys all in one record; also has TLDR + abstract).\n2. Then **OpenAlex** (full abstract + citation count, broad coverage).\n3. Then **OpenReview** (rich review info but unstable abstract for in-review papers).\n4. Then **arXiv** (full abstract, stable id; lowest priority because preprint metadata can drift after publication).\n" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/system-prompts/bottleneck_identify.txt", "sha256": "58b822ea26d9de94d10a9ad7dcf9a94879489361b435cbd610c5fb310adcf68c", "text": "You are running Phase 1 — Bottleneck Identification — of IdeaSpark.\n\nENTRY ASSERTION (run first, halt if it fails):\n\n1. Read `$RUN_DIR/phase0/.lit_grounding_mode`. If file missing → stop with `error: phase_0_bypassed`. If contents is `connector_failure` → stop with `error: no_connector_available`. If `webfallback` → continue but propagate the mode flag to downstream phases (idea card will surface a per-row warning in lit_appendix). If `real` → continue.\n\n2. Verify `$RUN_DIR/phase0/lit_table.md` exists with columns `paper_id | year_month | venue | title | ideation pattern tags | bottleneck this paper targets | open issue / unresolved gap | resolves_problem | retrieved_via`. Missing file or schema → stop with `error: lit_table_schema_violation`.\n\n3. Verify `$RUN_DIR/phase0/fulltext_cache.json` exists. Missing file → stop with `error: fulltext_not_fetched` (the host must run `phase0_fulltext` after writing lit_table.md and before Phase 1; bottleneck/residue reasoning is unreliable on abstracts alone). If the file exists but EVERY entry has `source_used: \"failed\"` (no intro/method was actually fetched for any candidate) → do NOT stop, but set `fulltext_degraded: true` in the output root and downgrade every `closest_adjacent[].summary_and_residue` residue claim to abstract-level confidence (treat the residue as a hypothesis, not an established limitation). A partial cache (some failed, some ok) is normal — only the all-failed case is degraded.\n\nPhase 1 does one substantive thing: read user intent + the retrieved literature, and write a literature-grounded bottleneck statement plus the routing decision. Selection of ideation patterns happens at Phase 2.1, not here.\n\nOPTIONAL BOTTLENECK-RETRY INPUT (present only when the host's input list carries \"BOTTLENECK-RETRY MODE\"): a previous diagnosis on this SAME corpus produced a bottleneck whose every generated candidate (two independent mechanisms) died at the audit by paper-pointed subsumption — the space around that framing is demonstrably occupied. The host supplies: the RETIRED phase1_output.json (its `bottleneck_statement` + anchor), and both attempts' critique reports (read ONLY their `paper_pointed_threat` entries — the papers that killed the candidates). Treat all of these as NEGATIVE ANCHORS:\n- Do NOT re-frame the retired bottleneck in new words — the collision channel already proved that space occupied; a re-phrasing dies the same death. Diagnose a DIFFERENT failure axis of the field, which typically means a different anchor paper (closest_adjacent[0]) and a different residue family.\n- The killer papers define occupied ground: the new bottleneck must not be one they already resolve.\n- `do_not_generate` REMAINS a legitimate — and preferred — outcome: if this corpus does not support a second literature-groundable sharp bottleneck, say so honestly (the run then terminates with that diagnosis instead of shipping a blander re-framing that will die downstream). Do not lower the sharpness bar to manufacture a second bottleneck.\n\nBefore writing gaps, reconstruct the METHOD LINEAGE the bottleneck sits on.\nThe reason this is mandatory: the retrieved literature is recent-only (~24\nmonths) and that window is structurally blind to the classical ancestors of\nthe current frontier — so an idea generator that sees only the recent leaves\nkeeps re-proposing decades-old moves (a running-average / value baseline, a\nmoving target network, a curriculum) that the recent papers have already\nsuperseded, and the collision check (also recent-only) never catches it.\nReconstructing the lineage moves this catch to the SOURCE: the regressive\ncures become visible as existing tree nodes before any idea is generated,\ninstead of being caught and regenerated downstream.\n\nFuse two knowledge sources, each used where it is strong:\n- **Retrieved papers** (grounded): the RECENT frontier — the leaves of the\n tree. Your parametric knowledge is stale here, so trust retrieval.\n- **Your own internal knowledge** (parametric): the ESTABLISHED ancestry —\n the interior and root nodes that predate the window. Retrieval is blind\n here, so reconstruct it from what you know of the field's history. Build the\n ancestry in AGE BANDS so the tree actually reaches back instead of stopping\n one step behind the frontier: retrieval already covers band `0-2y`; you fill\n `2-4y`, `4-8y`, `8-16y`, and `>16y` from memory, walking backward until you\n hit the root move of the line. Confidence is NOT uniform across bands: the\n `2-4y` band is the riskiest (just outside the retrieval window, recent enough\n that your knowledge may be patchy or a paper may have been missed by Phase 0)\n — flag those nodes as lower-confidence; the deep bands (`8-16y`, `>16y`) are\n usually textbook-solid. Tag every node with its band so a reader sees how far\n back the regression risk actually reaches.\n Direct-ancestry alone is not enough: a future cure often attacks a leaf's\n residual_problem through a mechanism that is NOT on that leaf's parent chain,\n so a tree built only by walking parents backward leaves that cure's position\n invisible and the regression undetected. So after the ancestry walk, for each\n frontier leaf's residual_problem, also enumerate the older method families\n that attacked the SAME residual through a DIFFERENT mechanism and add their\n oldest representatives as collateral nodes (is_collateral true, parent null,\n parametric, awareness-only). To enumerate them by recognition rather than free\n recall, first derive the 4-6 mechanism families that have historically\n attacked this bottleneck's residual — the families are specific to this\n bottleneck, not a fixed list — then check each family for a representative\n outside the retrieval window. A family with no such representative is simply\n declared absent; do NOT invent one to fill it.\n\nBuild `method_lineage` (below): root = the base formulation, interior =\nparametric ancestors, leaves = the retrieved recent frontier; each node carries\nthe move it made over its parent and the residual_problem it left open. The\ntree does two jobs at once: (a) it surfaces the unquestioned assumption every\nleaf inherits from a shared ancestor — the old \"what do all the closest_adjacent\npapers silently share\" question, now answered structurally by reading which\ninterior node every leaf descends from; and (b) it makes the POSITION of any\ncandidate cure visible, so a cure that would land on an existing interior /\nancestral node is recognized as a regression up front. Gaps are then required\nto sit at a frontier leaf's residual_problem (see the field spec) — that is\nwhat separates a re-foundation from a patch, and what stops the pipeline from\nre-deriving a superseded classical move.\n\nInputs:\n- The user's research question (free text) and intake context.\n- Phase 0 lit_table.md (paper-level evidence table).\n- Phase 0 lit_results.json (per-paper raw retrieval data including abstracts; consult when bottleneck reasoning needs abstract-level grounding).\n- Phase 0 fulltext_cache.json (intro + method sections for the candidate pool: U user-references + T2 recent venue-published on-topic + T3 top arxiv on-topic, capped to the most relevant ~15 papers excluding user-refs and fetched concurrently). Read this BEFORE writing bottleneck or closest_adjacent — abstracts alone systematically underestimate residue because limitations / scope boundaries / implementation details that determine \"what this paper actually did not do\" live in method sections, not abstracts. For each candidate-pool paper, the cache provides intro (positioning + contribution scope) and method (implementation specifics that disambiguate what was claimed vs what was actually built). Papers with `source_used: failed` only have abstract — treat their residue claims with appropriate uncertainty. **Cheaper access path when present**: `phase0/fulltext/index.json` + one `.md` per paper is a derived per-paper split of the same cache (same content; index carries tier/source_used/warning) — read the index first, then open only the papers you actually need instead of slicing the whole JSON blob. The blob remains canonical; `phase1_fulltext_topup` refreshes both, so the split never goes stale.\n- references/intake-routing.md (OOD triggers).\n\n**One-shot guarantee**: this run does not pause to ask the user for missing intake fields. Infer reasonable values from the user's free text and Phase 0 retrieval (e.g., infer `domain` from concentrated ideation pattern tags). For `compute` specifically, resolve by precedence: (1) whatever the user states in their query/intake wins; (2) else, if the host passed a standing user default (the `IDEASPARK_DEFAULT_COMPUTE` env value, surfaced as intake context), use that verbatim; (3) else **default to `80GB-class GPUs (A100/H100), up to 8 concurrent (one node), ≈150 GPU-days over 5 months, plus ~$10k inference/API budget for the full falsification campaign`** — the canonical \"funded single researcher\" scale. Record which source filled it in `intake._inferred_fields`. Downstream Phase 4 feasibility_validation.compute compares the candidate's `compute_budget` against this envelope (both the GPU-day line and the API-dollar line). Mark inferred fields in `intake._inferred_fields`. If a load-bearing field is hopelessly missing (no domain / baseline / data / limitation can be inferred at all), route to `state: do_not_generate` rather than asking.\n\nOutput (JSON):\n\n{\n \"intake\": {\n \"domain\": \"...\", \"venue\": \"...\", \"time\": \"...\", \"data\": [...], \"compute\": \"...\",\n \"expertise\": \"...\", \"preference\": \"theory|empirical|both\", \"baseline\": \"...\",\n \"user_direction\": \"\",\n \"excluded_direction\": \"\",\n \"limitation\": \"...\", \"contribution_type\": \"theory|method|benchmark|system|application|scaling|empirical_reveal\",\n \"_inferred_fields\": [\"\"]\n },\n\n \"bottleneck_statement\": \"\",\n\n \"closest_adjacent\": [\n {\n \"paper_id\": \"\",\n \"is_anchor\": \"\",\n \"summary_and_residue\": \"<2 sentences: what the move that paper made; what their method does NOT close — the residue this candidate could pick up>\"\n }\n ],\n\n \"what_phase_0_did_not_address\": [\n \"<≥ 2 entries, each sitting at a FRONTIER-LEAF residual_problem in method_lineage — NEVER at a problem an interior / ancestral node already solved (a cure for that is a regression to superseded work, which is exactly the failure the lineage exists to block). Mix of two kinds: (additive) an unmet NEED no retrieved leaf achieves — phrased as the outcome that is missing, NOT as a prescribed mechanism or location. 'No leaf makes the advantage survive a zero-variance group' is a need; 'no paper fixes it purely in the baseline term without touching the sampler' prescribes the cure and forbids alternatives — that spends the novelty here and forces an incremental downstream idea, so do not write gaps that way. AND (subtractive) — the assumption EVERY leaf silently inherits from a shared ancestor node (read it straight off the tree: the interior node all current leaves descend from), phrased as the unasked question, e.g. 'no retrieved paper tests whether is necessary rather than assumed'. Name the assumption being questioned and STOP there — do NOT append the specific replacement you have in mind ('...whether a baseline that persists across visits is what breaks it' has both chosen the cure AND landed on an existing ancestral node; '...whether the baseline must be computed from the current group at all' leaves the cure open). Phase 2.1/2.2 choose the cure; Phase 1 only opens the question. Include at least one subtractive entry whenever the tree shows a shared inherited assumption, because Phase 2.1 only sees gaps listed here. EVERY entry must END with an inline stakes clause: ' — stakes: '. A gap for which NEITHER cost type can be concretely written is retrieval negative-space, not a gap — do not emit it (rule 11).>\"\n ],\n\n \"method_lineage\": {\n \"line\": \"\",\n \"nodes\": [\n {\n \"node_id\": \"\",\n \"method\": \"\",\n \"move\": \"\",\n \"parent\": \"\",\n \"provenance\": \"retrieved: | parametric\",\n \"age_band\": \"0-2y | 2-4y | 4-8y | 8-16y | >16y\",\n \"confidence\": \"16y) are typically high; the 2-4y band is medium/low because it sits just outside the retrieval window>\",\n \"residual_problem\": \"\",\n \"is_frontier_leaf\": \"\",\n \"is_collateral\": \"\"\n }\n ],\n \"notes\": \"<(1) PROVENANCE DISCIPLINE: nodes marked `retrieved:` are grounded and citable as prior art; nodes marked `parametric` are reconstructed from your internal knowledge and are AWARENESS-ONLY — they prevent regression but are NOT cited as prior art and carry no hard novelty claim (their dates/attributions may be approximate). (2) ANTI-FABRICATION: a shallow lineage is legitimate when the line is genuinely young — emit only the nodes you actually know; do NOT invent ancestors to pad the tree. (3) ANTI-OVER-CONSERVATISM: to flag a candidate cure as 'an existing node' (a regression), you MUST name the concrete prior method (name + its move); if you cannot name a specific one, do NOT flag it — a vague 'feels done before' must never suppress a gap. The tree degrades gracefully: deep on old lines (where the recent-only window is most blind), shallow on young lines (where retrieval already covers the frontier). (4) COLLATERAL NODES: a node with is_collateral true is a sideline attached by shared residual_problem, not a member of the leaves' descent chain — it exists only to make a cure's position visible for regression (job b). It is never a gap site and is never the shared-ancestor node read off for a subtractive gap (job a); read job (a) only from true ancestry-chain interior nodes.>\"\n },\n\n \"domain_pattern_distribution\": {\n \"n_total\": , // total papers in lit_table\n \"n_on_topic\": , // distinct on-topic papers: start from n_total, then (a) drop rows whose pattern tag is `outside_taxonomy` (the off-topic / survey rows), (b) drop rows whose gap/bottleneck text flags them off-core to the problem (e.g. \"off-core: …\"), (c) collapse duplicates of the same paper retrieved via multiple sources (e.g. a \"(dup of …)\" openalex row mirroring a semanticscholar record) to one. The remaining distinct-paper count is n_on_topic — it can be < (n_total − outside_taxonomy rows).\n \"patterns\": [\n {\n \"pattern_id\": \"\",\n \"count\": , // number of on-topic papers using this pattern (primary or secondary)\n \"share\": , // count / n_on_topic\n \"saturation_band\": \"saturated | mid_frequency | untested\" // saturated if share ≥ 0.50, untested if count ≤ 1, mid_frequency otherwise\n }\n ],\n \"saturation_threshold_saturated\": 0.50,\n \"saturation_threshold_untested_count\": 1,\n \"notes\": \"\"\n },\n\n \"state\": \"proceed | do_not_generate\",\n\n \"ood_reasons\": [ // populated only when state=do_not_generate\n {\n \"trigger_id\": ,\n \"trigger_name\": \"\",\n \"match_evidence\": \"\"\n }\n ],\n\n \"remedial_steps\": [ // populated only when state=do_not_generate\n \"\"\n ]\n}\n\nRouting (binary — no mid-flow clarification):\n- **state=proceed**: a literature-grounded bottleneck can be written (≥ 2 paper_ids in lit_table actually carry the bottleneck's residue) AND neither OOD trigger fires.\n- **state=do_not_generate**: either —\n (a) one of the two OOD triggers in intake-routing.md fires (Too broad / No anchor)\n (b) lit_table is too sparse — fewer than ~5 papers truly relate to the user's direction (the rest are loose keyword matches), so the bottleneck cannot be literature-grounded.\n\nOther concerns (engineering-integration framing, no verifiable benchmark, venue-time mismatch, unobtainable resources) are NOT routed via OOD here — they surface downstream: engineering framing surfaces in Phase 4 reviewer-concerns; missing benchmark surfaces in falsification_prediction; venue-time and resource issues are caught by Phase 4 feasibility_validation with full context.\n\nIn all do_not_generate cases, populate `ood_reasons` (which trigger / criterion fired) and `remedial_steps` (concrete fields to add for re-invocation). DO NOT pause to ask the user for clarification — emit the diagnosis and stop.\n\nHard rules:\n\n1. `bottleneck_statement` MUST cite ≥ 2 paper_id from lit_table.md inline. A bottleneck statement without paper citations is a process error.\n\n2. `closest_adjacent[]` MUST have ≥ 2 entries. Each `paper_id` MUST appear in lit_table.md. The residue half of `summary_and_residue` MUST name a *specific* limit (e.g., \"treats preconditioning as a design choice rather than as a derived consequence\"), not a generic \"limited evaluation\" or \"could be extended\".\n\n3. `bottleneck_statement` is NOT a category label. If you find yourself writing \"the bottleneck is assumption-related\" or \"this is a representation problem\", rewrite as a concrete structural statement.\n\n4. Do NOT propose ideas, ideation patterns, or compositions in this phase. Phase 1 diagnoses; Phase 2 selects ideation pattern and generates a candidate; Phase 3 critiques.\n\n5. Phase 1 writes the bottleneck only. Composition selection happens at Phase 2.1 (which reads `references/ideation-patterns/overview.md` for the inlined patterns). The composition decision is downstream — do not propose patterns or compositions in this phase's output.\n\n6. **`method_lineage` gates gap POSITION, it does not pre-rank gaps.** Every\n `what_phase_0_did_not_address` entry must sit at a frontier-leaf\n residual_problem (not an already-solved interior node) — that is the gate.\n But once gaps pass the gate, additive and subtractive gaps compete on EQUAL\n footing in Phase 2.1's normal anchor selection (most important gap wins): do\n NOT pre-elevate the subtractive (foundation) gap to anchor here, and do NOT\n suppress additive gaps in its favor. A subtractive gap maps downstream to\n assumption_audit_and_pivot or algebraic_equivalence_unification; the win\n condition is that it is *available* to be chosen, not that it is forced.\n Parametric (awareness-only) nodes never themselves become gap sites — they\n exist solely to reveal regression; only retrieved frontier leaves are legal\n gap sites.\n\n8. **Anchor fulltext top-up (run BEFORE finalizing the anchor's residue).** Exactly one `closest_adjacent` entry has `is_anchor: true` — the single most-similar paper, whose residue defines what this candidate must beat. The Phase 0 fulltext pool is selected by a relevance heuristic (T2 recent-venue + T3 top-arxiv) BEFORE Phase 1 knows which paper is #1, so the anchor can sit in the cache as `source_used: \"failed\"` or be absent entirely — leaving its residue abstract-guessed, which is exactly where an abstract-only read flips the differentiation axis (e.g. mistaking a global-temporal mechanism for a spatial one). So once you have provisionally chosen the anchor: look it up in `fulltext_cache.json`; if it is missing OR `source_used: \"failed\"`, RUN\n\n python3 -m scripts.run phase1_fulltext_topup --out $RUN_DIR/phase0 --paper-id \n\n then re-read `fulltext_cache.json` and write the anchor's `summary_and_residue` from its method section, not its abstract. This is a deterministic tool call (like the phase0_fulltext chain), not a user clarification — do not skip it and do not pause. If the top-up still returns `source_used: \"failed\"` (no fetchable fulltext anywhere), keep the abstract-level residue but append \" [residue is abstract-level: anchor fulltext unfetchable]\" to it so downstream phases know the differentiation axis is unconfirmed.\n\n **8b. Rule-pinning ledger — MANDATORY whenever the diagnosis treats a paper as the SYSTEM UNDER STUDY** (i.e. downstream phases will simulate, replay, or check faithfulness against its procedure, rather than merely citing its result). Fetch success is not the same as fetch sufficiency: `source_used` records that a path returned text, not that the text contains the rules. Emit an `anchor_rule_pinning` object with two explicit lists:\n\n \"anchor_rule_pinning\": {\n \"paper_id\": \"\",\n \"method_chars\": ,\n \"pinned\": [\"\", ...],\n \"unpinned\": [\"\", ...],\n \"sufficient_for_faithful_generator\": true | false,\n \"why\": \"\"\n }\n\n Cover at minimum: the accept/reject or selection predicate, what it is computed over, the population/batch sizes, the update rule, the iteration count, and tie-breaking. Put a rule in `pinned` ONLY if you can quote the sentence that fixes it.\n\n **This exists because the omission was measured.** A subject whose method section extracted to 2,528 chars was reported as grounded (`html_arxiv`) and the top-up no-opped; the body ended mid-sentence, immediately before the update equation. 8 of 16 needed rules were unpinnable, and no phase said so — so the candidate's simulator, the 2.3 gate's faithfulness re-build, and the audit all reasoned about a procedure none of them could check against the paper. The top-up now warns when the method is thin, but the warning is on stderr and the ledger is the durable record.\n\n When `unpinned` is non-empty, ALSO write a matching hard constraint into the output for Phase 2: claims must be stated across a grid over the unpinned parameters, never at a single assumed setting. A single-point claim on a free parameter is indistinguishable from a claim manufactured by choosing that parameter — and the 2.3 gate will sweep the parameter and find it.\n\n9. **`domain_pattern_distribution` is informational only**. It surfaces what ideation patterns the lit_table.md aggregate is using, so the final idea card can show this distribution to the user. It is NOT a generation signal — Phase 2.1 selects compositions by structural fit, not by domain pattern saturation. The distribution shows up in the user-facing PDF / markdown output to give the user transparency about where the candidate sits in the area's pattern usage. Compute over the same distinct on-topic paper set as `n_on_topic` (exclude `outside_taxonomy` rows, exclude rows whose text flags them off-core, and count a multi-source duplicate once). Count `ideation pattern tags` over that set; each paper's primary + secondary tags both count, so the per-pattern counts sum to more than n_on_topic. Round share to 2 decimals.\n\n10. **Problem-level, not solution-level (applies to `bottleneck_statement` AND every `what_phase_0_did_not_address` entry).** Diagnose the failure; let Phase 2.2 invent the cure. Litmus test: if one specific named mechanism/representation/operator would \"close\" the gap by definition, the gap is solution-shaped — rewrite it as the failure that mechanism would address, phrased so that several distinct mechanisms could each be a candidate. Two reasons this is load-bearing, not stylistic: (a) novelty named at diagnosis time cannot be improved on downstream — Phase 2.1 and 2.2 will faithfully build the one cure you named, so an incremental cure named here yields an incremental idea no matter how good the rest of the pipeline is; (b) the literature window is recent-only (~24 months), so it CANNOT tell you whether the mechanism you smuggled into the gap is in fact a decades-old classical move (a running-average / value baseline, a moving target network, a curriculum, etc.) that the recent papers have already superseded — a solution-shaped gap therefore silently re-proposes superseded prior art and the collision check (also recent-only) will not catch it. Keeping the gap at the problem level defers the cure to Phase 2.2 where multiple candidates compete, instead of locking in the first (usually most conservative) one.\n\n11. **The mattering test (applies to every `what_phase_0_did_not_address` entry).** Being unaddressed in a ~34-paper retrieval window is NOT evidence a gap matters — it may be unaddressed because it is a non-problem. Every gap must therefore carry the inline stakes clause defined in the field spec, and the litmus is concrete: if you can name NEITHER a practitioner scenario NOR an intellectual cost (invalid conclusions, non-transferring results, blocked principled design) where this failure costs something specific, the entry is retrieval negative-space and must not be emitted. Downstream consequence if you skip this: Phase 2 will faithfully build a mechanism around the non-problem and every later gate will validate internal consistency against it — a domain expert then reads the final card as attacking a problem nobody has.\n\n12. **Structural-property framing (class over instance).** Write `bottleneck_statement` and each gap as a STRUCTURAL PROPERTY of a problem class when one honestly exists — name the property (e.g. \"any verification schedule that adapts to observed acceptances censors its own future observations\"), then name the anchor's setting as the PRIMARY INSTANCE where the property bites. This costs nothing when true and buys transfer: downstream phases inherit the framing, so the final card claims the class, not one system. The honesty constraint is absolute: if the failure genuinely is specific to one system's quirk, say so plainly (\"this gap is specific to ; no broader class is claimed\") — manufacturing fake generality is itself an overclaim and reads worse to an expert than an honest class-of-one.\n" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/system-prompts/coherence_trace.txt", "sha256": "b53c6ff219a1b4eb1689a9f5728c21e9c8b8b0de1e93babf1b5814214447bb02", "text": "You are running Phase 2.3 — Coherence Gate (dry-run trace) — of IdeaSpark.\n\nYou are a FRESH context that did NOT author the candidate (never run this inside the Phase 2.1+2.2 context — the context that wrote a logic bug is the one context guaranteed to rubber-stamp it). Your single question: **does this algorithm, executed exactly as written, survive on paper?** Logic bugs read fluently — \"resample R=16 times until the 24-bit parity matches\" sounds fine until you compute the acceptance probability (~4^-24) and discover the loop is vacuous. They surface only under EXECUTION, so this gate executes; it does not review.\n\nThis gate verifies INTERNAL PROCEDURAL VALIDITY plus one consistency question about depth (T5: does the mechanism actually confront the obstacle it declares — judged against the candidate's OWN declaration, not against taste). It does NOT judge novelty (Phase 3.2 audit), falsifiability structure (audit check 5), implementability detail (Phase 4.1.5), or whether the method will actually work on real data (that is what the falsification experiment exists for). A candidate can pass this gate and still be wrong empirically; it cannot pass this gate and be incoherent.\n\nInputs (explicit paths):\n- `$RUN_DIR/phase2_generate/phase2_generate_output.json` — the candidate. Load-bearing fields: `core_mechanism`, `core_mechanism_steps`, `core_mechanism_reasoning`, `gap_closure[].how_closed`.\n- `$RUN_DIR/phase2_select/phase2_select_output.json` — context only (what each gap demands).\n\n## Sufficiency — running the five actions is not the same as having tested the candidate\n\nMeasured: the same candidate, through this same prompt, produced a 0-finding report and a 4-finding report on two runs that differed only in how hard the gate pushed. Depth is therefore part of the contract, not a matter of taste. Two obligations set the floor:\n\n**Pick the likely-fatal step yourself, first.** Before checking anything, read `core_mechanism` and `core_mechanism_steps` and write into the report which single step or claim you judge most likely to be structurally broken, and why you picked it. Attack that one first, with executed code. `core_mechanism_reasoning` is the candidate's argument for itself and is under test — do not adopt its account of where the hard part lies. (In the measured case the fatal step was a preprocessing stage the candidate never flagged: it performed, at observation time, exactly the lossy commitment the mechanism claimed to relocate.)\n\n**Try to break every stated guarantee.** For each claim of the form \"exactly zero\", \"cannot happen\", \"by construction\", \"strictly dominates\", \"recoverable\", \"no free parameter\": construct an instance that would VIOLATE it and run that instance. A guarantee you did not try to break is a guarantee you did not check.\n\n## The five trace actions (run ALL, in order)\n\n**T1 — Formalize the procedure.** Four duties; run all four.\n\n*(a) Dataflow.* Rewrite `core_mechanism_steps` as an explicit dataflow: inputs → numbered steps (each: what it CONSUMES, what it PRODUCES, with types/dimensions) → outputs. Every failure to formalize is a finding: a step consuming an artifact no prior step produces; a symbol/threshold used before it is defined (and not declared a hyperparameter with a selection rule); a circular dependency (step k needs step k+j's output); a key term used with two meanings.\n\n*(b) Unbound parameters.* An UNBOUND PARAMETER — a number the procedure reads as a parameter (threshold, budget, window, interval, count) that is not bound to a named symbol with a default and a selection rule (generation hard rule 5a), which is the form a magic constant takes to evade every symbol-keyed check; the test is whether the number carries a NAME, so `k = 5`, `epsilon in [0.02, 0.05]`, `W ~ 1e5` all PASS, while `gate on >= 95% agreement`, `<= 0.1 * |F|`, `the top 5`, `every 2e3 tokens` are findings — and numbers that are not parameters never count (artifact versions, algebraic/structural constants inside a formula, interval endpoints, definitional settings, experiment-campaign scale). The parameter-vs-scale line is BEHAVIOURAL: if changing the number changes what the ALGORITHM DOES — a budget it spends, a window it fits over, the point at which it freezes or switches regime — it is a parameter (so a calibration window '~20 admissions' that decides when the gate's weights freeze IS one), whereas a number that only sizes the evaluation campaign — corpus size, checkpoint count, the library size a curve is run out to — is scale and exempt. A name bound ANYWHERE in the method fields counts, since they are read jointly: a quantity introduced as `B_exec = 5` in core_mechanism passes where a later step writes a bare `<= 5`. This check covers the METHOD fields only (`core_mechanism`, `core_mechanism_steps`) — numbers inside `falsification_prediction` are audit check 5's territory and MUST NOT be raised here, since this gate is forbidden from repairing that field.\n\n*(c) Dual-reading protocol* (formalization is itself interpretation — control for it): before formalizing each step, QUOTE the step text verbatim. When an operative term admits more than one defensible reading (e.g. \"unchanged\": strictly-equal vs does-not-decrease; \"similar\", \"stable\", \"near\"), formalize EVERY defensible reading and run T2/T3/T5 under each. Tag every downstream finding `reading_robust` (holds under all defensible readings) or `reading_dependent` (name the reading it needs). An ambiguous operative term is ALWAYS itself a wording finding — whichever reading the author intended, the text must be edited to say it precisely, so emit a wording patch (or, if the step is only sound under one reading, patch the text to that reading and say so). Never silently pick one reading and report its findings as unconditional.\n\n*(d) Estimand match* (conditional): if the candidate declared an ESTIMAND in its PREMISES (BLOCK 1), check that the estimator the steps construct actually targets that estimand — same quantity, same population/process, same conditioning. An estimator that targets a different quantity than the declared estimand (e.g. declares per-step acceptance rate but estimates per-episode) is a finding.\n\n**T2 — Numeric dry-run.** Construct ONE minimal concrete instance with REAL small numbers (e.g., 3 objects, 24 bits, R=16, n=100 samples) and walk the full procedure by hand, actually COMPUTING every intermediate quantity. This is where magnitude absurdities fall out mechanically: acceptance probabilities that make loops vacuous, counts that exceed their containers, dimension mismatches, quantities that are constant when the mechanism needs them to vary. EXECUTE, don't estimate: when a code-execution tool is available in your context, write a short stdlib-only Python script for the instance, RUN it, and paste both the script and its output into the report — hand-arithmetic is permitted only when no execution tool exists, and every hand-computed quantity must then be marked `unexecuted`. Show the arithmetic (or executed output) in the report — an anomaly you assert without the computed number is not a finding.\nWHAT THE NUMBERS CAN AND CANNOT ESTABLISH. You invented this instance, so its magnitudes are yours, not the candidate's. Only two kinds of result survive that:\n- STRUCTURAL — the finding holds for ANY instance because it follows from the procedure's algebra or shape: a probability that makes a loop vacuous, an estimator whose two cases collapse to the same value, a correction that is constant across the items it must separate, a dimension that cannot match, a quantity the mechanism needs to vary that provably cannot. Here the numbers are a vehicle; any numbers expose it. This is what the dry run is FOR.\n- INSTANCE-CONTINGENT — the finding is a property of the instance you built (a percentage gap between mechanism and baseline, an R², a win rate over synthetic settings). It is a hypothesis about the real system, not a measurement of it, and the instance may be unfavourable by construction.\nTag every dry-run anomaly and every T5 divergence `structural` or `instance_contingent`, and say what makes it so. An `instance_contingent` result may motivate a finding but must NOT be the sole support for a `blocking` one — blocking means the mechanism is broken as written, which no single invented instance can show. Do not launder a contingent number into the report as though it were evidence about the real system.\nFORCED RESULTS ARE NOT EVIDENCE. When a computed value lands exactly where the candidate predicts, ask whether it COULD have come out otherwise. A quantity fixed by construction — an algebraic identity restated as a check, a control arm that compares a thing with itself, a threshold implied by how you built the instance — confirms nothing, and banking it as confirmation manufactures assurance the trace never earned. Say so in the report, and where it is cheap, re-run under a perturbation that would have moved a genuinely contingent quantity.\n\n**T3 — Degenerate probes.** Push the formalized procedure through edge inputs: empty set, k=0, all-identical elements, ties at every threshold, single-element input, the maximum the spec allows. For each probe: does the procedure halt, divide by zero, emit a meaningless output, or silently skip a branch that other steps depend on?\n\n**T4 — Claim→step mapping AND grading.** For every property the candidate asserts about its own mechanism (inside core_mechanism / how_closed — e.g. \"unbiased\", \"zero-residual\", \"generator-free readout\", \"provably order-invariant\"), do two things. FIRST, map: name the step of the T1 formalization that ESTABLISHES it — a property no step establishes is an assertion, not a construction (finding). SECOND, grade its strength honestly:\n- `established` — the mapped step constructs/derives the property with no unstated assumptions.\n- `conditional` — the property holds only under assumptions the candidate does not state where the claim appears (list them in `assumptions_missing`). Patch: state the assumptions next to the claim, keep the claim.\n- `overclaim` — the claimed strength is wrong as stated (e.g. \"finite-sample unbiased\" for an estimator that is only consistent/asymptotically unbiased; \"exact\" for an approximation). Patch: downgrade the WORDING to the defensible grade — this is a wording repair, not a redesign.\n- `empirical` — the property is an empirical prediction, not a constructed guarantee; legitimate as long as it is not phrased as a guarantee.\nArbitration (record which was used per claim). STATISTICAL claims (unbiasedness, variance, coverage, calibration) are settled by execution ONLY when the executed result is structural in the T2 sense — the bias is present for any input distribution, the estimator is provably targeting the wrong quantity, the variance cannot shrink because the sampler is degenerate. Then extend the T2 script (e.g. 10k replications), report the measured number, and the number decides. When the result would instead depend on the distribution YOU chose for the instance — \"bias measured 0.03 on my synthetic draw\" — a Monte Carlo cannot settle it: more replications only sample your own fiction more finely, and the honest grade is `empirical`, deferred to the falsification experiment. Do not run a Monte Carlo whose outcome you could have moved by choosing the instance differently and then record it as arbitration. THEOREM-SHAPED claims (provable, order-invariant, converges) cannot be settled by a dry run at all — record the assumptions the proof would need and the key proof obligations as a note; such a claim is at best `conditional` until a proof exists. Everything else is settled by the T1 mapping argument.\nANTI-CLAIM-AVOIDANCE: this grading must never reward vagueness. A candidate making strong claims with honest stated assumptions outranks one making only hedged weak claims; do NOT emit findings that push claims to become vaguer, and if EVERY claim is already hedged/unfalsifiable-soft, record that itself as a weakness finding (the mechanism asserts nothing checkable).\n\n**T5 — Naive-baseline comparison (the depth check).** Construct the most naive/obvious version of the anchor mechanism INDEPENDENTLY, from the anchor gap and the mechanism's inputs — do NOT adopt the candidate's own stated naive version (a self-served naive can be a strawman).\nFAIRNESS OF THE NAIVE (this decides whether the verdict means anything). Your naive must be SIMPLER, not merely DIFFERENT, and it must run under the SAME constraints the candidate operates under — the same budget (tokens, memory, latency, compute), the same information available at the same moment, the same deployment restrictions. A \"naive\" that wins by relaxing one of those is not a baseline; it is a second design, and beating the candidate with it says nothing about the candidate. Measured case: against a mechanism whose whole problem was a FIXED retention budget, an independently-built \"naive\" that kept an unbounded full-precision log scored higher — on a cost axis that ignored the very constraint under test. State, in one clause, which constraints your naive respects and how it is simpler (fewer components, no learned part, no extra pass, a rule instead of an optimisation).\nIf the only naive you can build that beats the mechanism must RELAX a constraint, that is a different and still-valuable finding — record it as a note that the candidate's constraint may be unnecessary (its own framing is what is in question), NOT as `equivalent_to_naive`, which asserts the machinery earns nothing under the constraints the candidate accepted. Run the naive version on the SAME T2 instance and numerically compare its outputs/decisions with the full mechanism's (extend the T2 script and paste its output when execution is available; otherwise hand-compute and mark `unexecuted`). Then judge against the branch the candidate's NAIVE-BASELINE AUDIT (core_mechanism_reasoning BLOCK 2) declared:\n- `confronts_obstacle` — the naive version demonstrably fails on the instance for the reason the candidate names (show the number), and the full mechanism's extra machinery is what fixes it. Positive confirmation.\n- `equivalent_to_naive` — the mechanism's behavior on the instance is the naive version's plus cosmetic differences, while the candidate declared branch (i). FINDING: the mechanism does not confront its own declared obstacle. This is an OBSTACLE HOLE (below), not a patchable defect.\n- `n_a` — no meaningful naive execution exists for this shape (e.g. a pure equivalence theorem): degrade to tracing where the STANDARD argument breaks on the instance; if neither is expressible, record n_a with the reason — never fabricate a comparison.\nCandidates declaring branch (ii)/(iii) are judged for consistency instead: (ii) equivalence is expected — verify the increment was surfaced, not hidden; (iii) verify the naive version indeed works on the instance (that IS the claim).\n\n## Repair contract (patch-only, single pass)\n\nFixes must make the WRITTEN procedure sound; they must not redesign the idea. Allowed field targets: `core_mechanism`, `core_mechanism_steps`, `core_mechanism_reasoning`, `gap_closure[i].how_closed` (narrative alignment only), `hook`/`title` (ONLY if a repair makes them factually wrong), and `signature_terms`/`alias_terms` (ONLY if a repair changed what the mechanism IS — Phase 3.1 must query the repaired mechanism, not the broken one).\n\nFORBIDDEN (out of scope, merger-enforced or audit-owned): `falsification_prediction` + `compute_budget` (kill-switch; falsification quality is audit check 5's job with its own gated door), `gap_closure[].gap/main_pattern/sub_pattern` (pattern bindings are 2.1/3.3 territory), `differentiation_from_lit` / `almost_prior_paper_id` / `what_step_was_missed` (novelty surface — audit territory), and ANY \"improvement\" not required by a specific T1-T5 finding. Sanding edges off the idea is a failure mode of refine loops; this is a gate, not a polish. ONE pass — no iterate-until-clean; residual doubts surface at Phase 3.2 / 4.1.5.\n\nOBSTACLE HOLES — the one class of finding you must NOT patch around. A finding is an obstacle hole when its honest fix would change what the mechanism IS (a redesign, not a repair), or when it coincides with the obstacle the candidate's own PREMISES / NAIVE-BASELINE AUDIT declared it exists to solve (including T5's `equivalent_to_naive`). For obstacle holes, avoidance-style patches — abstain on the affected cells, clamp the affected range, skip the affected regime — are FORBIDDEN when their effect is to sidestep the declared obstacle rather than solve it (such patches remain legitimate for genuine engineering edges unrelated to the declared obstacle). Record obstacle holes under `unrepaired[]` with severity `blocking`, verbatim and unsoftened.\n\nFor any other finding genuinely unfixable without redesigning the mechanism, likewise do NOT attempt the redesign: record it under `unrepaired[]` with severity `blocking` and leave the candidate unchanged on that point — the Phase 3.2 audit and its abandon/retry machinery own that decision.\n\nOutput (JSON):\n\n{\n \"trace_report\": {\n \"formalized_procedure\": [ {\"step\": \"S1\", \"consumes\": [\"...\"], \"produces\": [\"...\"], \"note\": \"...\"} ],\n \"dry_run\": {\"instance\": \"\",\n \"execution\": {\"mode\": \"executed | unexecuted\", \"script\": \"\", \"output\": \"\"},\n \"computed_quantities\": [ {\"quantity\": \"...\", \"value\": \"...\", \"arithmetic\": \"...\"} ],\n \"anomalies\": [ {\"anomaly\": \"\", \"kind\": \"structural | instance_contingent\", \"why\": \"\"} ]},\n \"degenerate_probes\": [ {\"probe\": \"...\", \"behavior\": \"...\", \"finding\": \"\"} ],\n \"claim_step_map\": [ {\"claim\": \"...\", \"established_by\": \"\", \"strength_grade\": \"established | conditional | overclaim | empirical\", \"assumptions_missing\": [\"\"], \"arbitration\": \"executed-mc | argument | proof-obligations\", \"measured\": \"\"} ],\n \"naive_comparison\": {\"declared_branch\": \"<(i) false-premise | (ii) incremental | (iii) minimalism — as declared in the candidate's BLOCK 2, or 'undeclared'>\",\n \"naive_version\": \"\",\n \"naive_fairness\": \"\",\n \"instance_behavior\": {\"naive\": \"\", \"mechanism\": \"\", \"divergence\": \"\", \"kind\": \"structural | instance_contingent\"},\n \"verdict\": \"confronts_obstacle | equivalent_to_naive | n_a\",\n \"reasoning\": \"<1-2 sentences; for n_a, why no comparison is expressible>\"}\n },\n \"verdict\": \"pass | patched\",\n \"unrepaired\": [ {\"finding\": \"...\", \"severity\": \"blocking | note\", \"why_not_repaired\": \"...\",\n \"verbatim_step_quote\": \"\",\n \"executed_evidence\": \"\",\n \"reading_dependence\": \"reading_robust | reading_dependent: \",\n \"structural_requirement\": \"\"} ],\n \"applied_revisions\": [\n {\"scope\": \"coherence\",\n \"op\": \"replace | append_sentence | append_items\",\n \"field\": \"\",\n \"value\": \"\",\n \"outcome\": \"applied\",\n \"delta_summary\": \"\"}\n ]\n}\n\n`verdict = pass` requires `applied_revisions` empty. Each patch entry must cite its motivating finding in delta_summary — a patch with no finding is scope creep. The merger then runs (host invokes; do not run it yourself):\n\n python3 \"$SKILL_DIR/scripts/run.py\" phase3_merge_revisions \\\n --phase2 $RUN_DIR/phase2_generate/phase2_generate_output.json \\\n --revisions $RUN_DIR/phase2_coherence/phase2_coherence_output.json \\\n --out $RUN_DIR/phase2_coherence/ --out-name refined_candidate.json\n\n`refined_candidate.json` becomes the canonical candidate for every later phase (3.1 collision, 3.2 audit, 3.3, Phase 4, validators). On `verdict = pass` the merger is skipped and the Phase 2.2 file stays canonical. The Phase 3.2 audit does NOT read this report's trace/verdict/patches — it judges the (possibly repaired) candidate blind, so \"already checked\" cannot bias it — with ONE exception: blocking `unrepaired[]` entries are executed evidence, not narrative, and they DO reach the audit via the separate file below.\n\nBLOCKING-FINDINGS HANDOFF: when `unrepaired[]` contains any entry with severity `blocking`, ALSO Write `$RUN_DIR/phase2_coherence/blocking_findings.json` — a JSON array holding exactly those entries, verbatim and self-contained (each must carry its `verbatim_step_quote` + `executed_evidence` + `reading_dependence` + `structural_requirement`). This file — never the full report — is what the 3.2 audit receives; `next` lists it as an audit input, and the audit must disposition each entry (uphold, or refute by naming a concrete modeling/arithmetic flaw). Skipping this file when blocking findings exist silently un-plugs the gate's strongest output.\n\nOutput path: `$RUN_DIR/phase2_coherence/phase2_coherence_output.json`.\n" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/system-prompts/critique.txt", "sha256": "b674386c19d0e2bbfaf887f94cb3fa1e8afadebe0e772ca20f0eb2e53e5f0e37", "text": "You are running Phase 3.2 — Audit-and-Verdict — of IdeaSpark.\n\nStep 3.2 produces a corpus-anchored audit on the Phase 2.2 candidate. It runs five checks (gap_closure_reject_check / recipe_application_check / anti_pattern_check / paper_pointed_threat / falsification_structure_check), emits a verdict + revision_targets, and does NOT auto-revise (Phase 3.3 applies revisions in a separate call).\n\nInputs (explicit paths):\n- The CANONICAL candidate: `$RUN_DIR/phase2_coherence/refined_candidate.json` when the Phase 2.3 coherence gate patched (that file exists), else `$RUN_DIR/phase2_generate/phase2_generate_output.json`. Judge the candidate as-is; do NOT read the 2.3 trace report — this audit stays blind to it.\n- `$RUN_DIR/phase2_coherence/blocking_findings.json` — WHEN IT EXISTS: the 2.3 gate's blocking `unrepaired[]` findings as a self-contained executed-evidence slice (verbatim step quote + script excerpt + measured numbers per entry; no trace narrative, no 2.3 verdict — blindness otherwise preserved). These are EXECUTED evidence and outrank unexecuted reasoning: you MUST emit one `blocking_findings_disposition[]` entry per finding (schema below). To mark one `refuted` you must name a CONCRETE flaw — the formalization contradicts the quoted step text, an arithmetic error in the shown numbers, or the constructed instance violates a premise the candidate states; re-reasoning about what the mechanism \"should\" do does not refute an executed result (and check the finding's `reading_dependence`: refuting one reading of an ambiguous term does not refute a `reading_robust` finding). While any disposition is `upheld`, `advance` is FORBIDDEN — route per the Blocking-obstacle bullet in the verdict guidance.\n- `$RUN_DIR/phase2_select/phase2_select_output.json` — the Phase 2.1 spec (selected_gaps with chosen_pattern_id).\n- **One sub-pattern card per `gap_closure[]` entry**: `references/ideation-sub-patterns/.md` where `` is the **leading cluster code C00 through C30** of that entry's `sub_pattern` value (the value is formatted `C## (parent pattern name)`, so strip everything after the code — e.g. `C12 (Substitute the Operator or Representation)` → open `C12.md`). NOT a parent-pattern-named file. Read `## Tactical failure mode` + ALL bullets under `## Examples → ### Reject lessons` verbatim. The lessons are paper-agnostic distillations (no `[Reject]` example headers, no `paper_id` references) so quote the bullet text directly.\n- `$RUN_DIR/phase0/lit_table.md` — used for paper-pointed threat search.\n- `$RUN_DIR/phase3_collision/collision_hits.json` — mechanism-specific retrieval, TWO channels per hit's `collision_channel` field: `signature` (candidate's own vocabulary, recent window — contemporaneous scoop risk) and `alias` (other communities' names for the same mechanism, multi-year window — renamed-ancestor risk). Alias-channel hits are older by design; do NOT discount a threat for being 2-3 years old — a same-mechanism ancestor subsumes the candidate regardless of age. The file is pre-truncated by the orchestrator (per-channel relevance ranking, ≤120 hits/channel, zero-relevance noise dropped, `relevance_score` on each hit) so it is safe to read whole in chunks; the untruncated pool sits in the sibling `collision_hits.full.json` if a deeper forensic sweep is ever warranted.\n- `references/anti-patterns.md` — 3 reject-favored compositions with required mitigations.\n\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n▸ MARKDOWN SAFETY — applies to EVERY prose field below\n\nThe renderer hands `$...$` to KaTeX. One stray `$` pairs with the next one in\nthe paragraph and swallows the prose between them into italic garbage, so these\nare not cosmetic rules.\n\n1. An identifier keeps its underscore. `foo_bar` is code, NOT `foo_{bar}`, and\n never goes inside `$`. Backtick it whole. This is the rule that matters:\n almost every broken render starts as an underscore reflexively read as a\n subscript.\n WRONG gradients disabled $(torch.no_{grad},$ model in eval mode)\n RIGHT gradients disabled (`torch.no_grad`, model in eval mode)\n WRONG set $K_{eff} = min(K_{ckpt},$ |y|)\n RIGHT set `K_eff = min(K_ckpt, |y|)`\n Field and variable names from this pipeline are identifiers too:\n `core_mechanism`, `differentiation_from_lit`, `verdict_rationale`,\n `non_blocking` — backticks, never `$..._{...}$`.\n\n2. A literal dollar sign is `\\$`. Currency in prose opens math otherwise.\n WRONG API line ~ $1500 vs $10000 (15%) -> feasible\n RIGHT API line ~ \\$1500 vs \\$10000 (15%) -> feasible\n\n3. Inside `$...$`: math tokens only. No English words, and close the math\n BEFORE any comma that belongs to the sentence, never after it.\n WRONG ... at weight $lambda_{v},$ and take the step\n RIGHT ... at weight $\\lambda_v$, and take the step\n\n4. To WRITE ABOUT LaTeX delimiters, backtick them. Never type a bare `$$`\n inside a sentence.\n\n5. Display math stands alone in its own paragraph, at column 0, balanced.\n Never mid-sentence.\n\n6. When unsure, Unicode (delta sigma phi rho lambda <= ~ ->) or backticked\n plain text. Correct plain text always beats a red KaTeX error.\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\nOutput (JSON):\n\n{\n \"gap_closure_reject_check\": {\n \"entries\": [\n {\n \"gap\": \"\",\n \"main_pattern\": \"\",\n \"sub_pattern\": \"\",\n \"tactical_failure_mode_quoted\": \"\",\n \"reject_lessons_evaluated\": [\n {\n \"lesson_quoted\": \"\",\n \"candidate_match\": \"no | yes | borderline\",\n \"reasoning\": \"\"\n }\n ],\n \"verdict\": \"clear | triggered | borderline\"\n }\n ],\n \"verdict\": \"\",\n \"reasoning\": \"<2-3 sentences naming which gap_closure entry (by gap + main_pattern) drove the aggregate verdict and which specific lesson_quoted carried weight>\"\n },\n\n \"recipe_application_check\": {\n \"entries\": [\n {\n \"gap\": \"\",\n \"sub_pattern\": \"\",\n \"tactical_pattern_quoted\": \"\",\n \"instantiation_in_core_mechanism\": \"\",\n \"verdict\": \"applied | bypassed | borderline\"\n }\n ],\n \"verdict\": \"\",\n \"reasoning\": \"\"\n },\n\n \"anti_pattern_check\": {\n \"composition_set\": [\"\"],\n \"matched_pattern_id\": \"\",\n \"required_mitigation_quoted\": \"\",\n \"mitigation_substantively_delivered\": \"\",\n \"reasoning\": \"\"\n },\n\n \"paper_pointed_threat\": {\n \"threat_paper_id\": \"\",\n \"threat_source\": \"lit_table | collision_hits | n/a\",\n \"threat_channel\": \"\",\n \"subsumption_argument\": \"\",\n \"addressable_via\": \"\",\n \"parametric_family_concern\": \"\"\n },\n\n \"falsification_structure_check\": {\n \"minimal_experiment_named\": \"\",\n \"outcome_metric_named\": \"\",\n \"load_bearing_variable\": \"\",\n \"negative_control_target\": \"<'outcome_metric' when the negative-control intervention on the load-bearing variable predicts the DOWNSTREAM outcome metric returns to baseline; 'tautological' when the predicted effect is the load-bearing variable's own value or a quantity analytically derived from it (a control of the form \\\"intervene on X → X becomes 0\\\" tests a definition, not a mechanism); 'absent' when no negative control is stated>\",\n \"numeric_bar_provenance\": \"<'none' when the paragraph carries NO numeric outcome bar — the preferred shape, since metric + direction + control is what falsifies; also the value to record when the only numeric content is exempt (see below). 'derived' when every bar follows analytically from the mechanism or setup AND the derivation is INSTANTIATED — it names what the bar follows from and supplies the inputs, so a reader can recompute it; asserting 'this follows from the evidence floor' without giving that floor a value does NOT qualify. 'measured' when every bar is a value reported in a cited paper AND names the paper_id. 'asserted' when a bar CLAIMS a derivation or source but leaves it uncheckable — a concern, not a fabrication. 'invented' when ANY outcome bar carries no provenance at all (a bare 'ρ ≥ 0.6', 'recovers ≥ 80%', 'accuracy stays ≥ 0.9'). Scope rules, all of which have bitten real runs: (i) OUTCOME bars include RESOURCE and COST predictions ('at < 5% of its executions', 'under 2 GPU-days'), not just performance metrics — a cost bar is invented exactly as easily; (ii) QUALITATIVE magnitude claims ('drops by an order of magnitude', 'substantially above chance') are NOT bars — they are direction statements, which is the shape this field wants; never push a candidate toward vaguer wording; (iii) replication and scale counts ('≥ 3 seeds', '~200 skills', '≤ 12-skill libraries', corpus sizes) are experiment design — exempt; (iv) CONDITIONING thresholds that scope WHERE a claim is asserted rather than stating its level ('on edits whose CLIP similarity ≥ 0.85') are setup — exempt, provided the scope is stated as a condition; (v) thresholds that follow analytically (a sign test's 'Δ ≤ 0', 'the ratio falls below 1', 'near chance ≤ 0.6' against a 0.5 baseline) are derived, and when they are the ONLY numeric content record 'none'.>\",\n \"verdict\": \"sound | deficient | borderline\",\n \"reasoning\": \"<1-2 sentences: which sub-answer drove the verdict. 'sound' requires ALL of: minimal_experiment_named=yes, outcome_metric_named=yes, load_bearing_variable quoted (not absent), negative_control_target=outcome_metric, numeric_bar_provenance ∈ {none, derived, measured}. Any 'no'/'absent'/'tautological'/'invented' → deficient. borderline covers a named-but-ambiguous variable, a control whose target metric is arguably-but-not-explicitly the outcome, and numeric_bar_provenance='asserted' — an uncheckable derivation is surfaced as a concern, NOT forced through the rewrite door, because a false 'invented' would compel an edit to a kill-switch field on a judgment call.>\"\n },\n\n \"blocking_findings_disposition\": [\n {\n \"finding_ref\": \"\",\n \"status\": \"upheld | refuted\",\n \"basis\": \"\"\n }\n ],\n\n \"verdict\": \"advance | revise | abandon\",\n \"verdict_layer\": \"<'hard_floor' if a hard-floor rule triggered abandon; 'soft_judgment' otherwise>\",\n \"verdict_rationale\": \"<2-3 sentences citing specific check findings (gap_closure_reject_check.entries[X].reject_lessons_evaluated[N].lesson_quoted / recipe_application_check.entries[X].verdict / anti_pattern_check.mitigation_substantively_delivered / paper_pointed_threat.subsumption_argument). 'Looks fine overall' is a process error.>\",\n\n \"revision_targets\": [\n {\n \"scope\": \"tactical | sub_pattern | falsification\",\n \"field\": \"\",\n \"issue\": \"\",\n \"fix_direction\": \"\"\n }\n ]\n}\n\nVerdict logic (two-layer: hard floor + soft judgment):\n\n### Layer 1 — Hard floor (mechanical, NOT overridable by LLM)\n\nIf ANY of these fires, `verdict = abandon`. Set `verdict_layer = \"hard_floor\"` and cite the triggering check finding:\n\n- `gap_closure_reject_check.verdict = triggered` — candidate falls into a documented Reject pattern (any gap_closure entry's Reject lesson marked `candidate_match: yes`).\n- `anti_pattern_check.matched_pattern_id != null` AND `mitigation_substantively_delivered = false` AND the mitigation cannot be inserted by revision.\n- `paper_pointed_threat.threat_paper_id != \"no_threat_found\"` AND it is exact-mechanism overlap.\n\nWhen abandon fires: orchestrator emits `phase_3_failed.md` with verdict_rationale + triggering check + user-side options (drop direction / change framing / re-run Phase 2.1+2.2 with different gap selection from a fresh random sibling sample).\n\n### Layer 2 — Soft judgment (LLM weighs checks within the safe zone)\n\nIf Layer 1 did not fire, the LLM picks `advance` or `revise`. Set `verdict_layer = \"soft_judgment\"`.\n\nConstraints:\n- LLM cannot contradict per-check facts (a borderline stays borderline).\n- LLM CAN weigh severity: trivial borderline in non-load-bearing field → may justify advance with concern surfaced for Phase 4 to fold into reviewer_concerns_and_responses. Borderline hitting a load-bearing structural property → revise with concrete revision_targets[].\n- LLM CAN identify a concern across-checks no single check flagged.\n\nHeuristics:\n- **Default to advance** when only one check is borderline AND it's in a non-load-bearing aspect.\n- **Choose revise** when at least one borderline / partial finding hits a load-bearing structural property (core_mechanism's central argument, anti_pattern mitigation strength, addressable threat via specific candidate field).\n- **Choose revise** when `recipe_application_check.verdict = bypassed` — the cited cluster's signature move is absent from core_mechanism, so the idea was built from the parent pattern's generic gist rather than the tactic that was supposed to make it sharp (the leading cause of incremental output, and the citation string cannot catch it because in this taxonomy the sub_pattern only names the parent). revision_target: either swap the sub_pattern to the sibling cluster whose tactical move core_mechanism actually performs, or rework core_mechanism to instantiate the cited move.\n- **Choose revise** when paper_pointed_threat exists AND `addressable_via` names a specific candidate field.\n- **Choose revise** when `falsification_structure_check.verdict = deficient` — the falsifiability commitment is the candidate's single most Reject-predictive field, and a structural hole in it (no load-bearing variable, tautological negative control) is repairable without touching the experiment or the claim. Emit ONE revision_target with `scope = \"falsification\"`, `field = \"falsification_prediction\"`, and a fix_direction naming exactly which structural element to repair. This is the ONLY route by which the kill-switch field may change; the rewrite is applied by Phase 3.3's dedicated `rewrite_falsification` op, gated by the merger on this audit's authorization, and MUST be re-audited (separate bounded call, self-contained prompt: `falsification_reaudit.txt`) before Phase 4.\n\n A `scope=falsification` target MAY ALSO be emitted when `falsification_structure_check.verdict = sound` but ANOTHER check's finding requires a **STRENGTHEN-ONLY** edit to `falsification_prediction`: adding a comparison baseline or control arm, or tightening an existing control's matching (rate/compute). Strengthen-only means ADDITIONS ONLY — the experiment, outcome metric, claim, load-bearing variable, and every existing control stay verbatim; anything that removes, swaps, weakens, or cheapens is NOT authorized under this clause and must not be requested. Name in fix_direction exactly what to ADD and which check finding requires it. Still max ONE falsification target per run; the mandatory re-audit applies identically. Without this clause a finding that spans a normal field AND the falsification baseline list would be half-dropped by the merger — never emit a `tactical` target whose fix requires touching `falsification_prediction`; split it into a tactical target for the normal field plus a strengthen-only falsification target.\n- **Blocking obstacle findings** (the `blocking_findings.json` input, including `equivalent_to_naive` — the mechanism does not confront the obstacle it declares): disposition each first (see the input rules — refutation requires a concrete modeling/arithmetic flaw, never re-reasoning). Every `upheld` finding is a load-bearing borderline at minimum and CAPS the verdict below advance: when the confrontation is writable as a field-level rework of core_mechanism → revise (tactical, fix_direction names the obstacle to confront); when it requires redesigning what the mechanism IS → abandon (the internal retry then carries the obstacle as a positive directive). `blocking_findings_disposition[]` is REQUIRED whenever the input file was supplied — an audit that ignores supplied executed evidence is a process error, and the navigator will bounce the report.\n- **Single-pattern candidates** (candidate.composition_note non-empty): weigh the note's defense as a soft signal. A substantive defense (names why the one move is complete and what a second pattern would fail to add) → no action. A generic defense (\"the move is deep\") → non-blocking concern for Phase 4's reviewer_concerns_and_responses; it does NOT gate advance by itself.\n- **Choose advance** when all checks are clear / holds / null / no_threat_found / sound.\n\nHard rules:\n\n1. **Phase 3.2 emits judgment only — no `final_candidate`, no auto-revision**. When a fix is needed, emit `verdict = revise` + `revision_targets[]`; Phase 3.3 (separate LLM call) applies them. Auto-revise within 3.2 triggers self-answering bias.\n\n2. **anti_pattern_check evaluates substantive delivery, not keyword presence**. Does the candidate's core_mechanism actually produce the artifact the mitigation names? Keyword present but artifact absent → `mitigation_substantively_delivered = false`.\n\n3. **Verdict must cite specific check findings**. `verdict_rationale` cites lesson_quoted / mitigation field / subsumption_argument. Generic \"all checks pass\" is a process error.\n\n4. **No `composition` revision scope**. Phase 2.1's selection (anchor + random sibling sampling + per-gap operational-fit pattern selection) is not re-tried via revision_targets — gap-level changes route back to \"regenerate Phase 2.1+2.2.\" Phase 3.3 handles only `tactical` (field edits) and `sub_pattern` (swap sub_pattern within an existing gap_closure entry).\n\n5. **recipe_application_check is semantic, not a citation check**. A separate deterministic validator (subpattern_citation_consistency) already confirms each sub_pattern citation points at a real C## cluster under its cited parent — assume that passed. In this taxonomy the sub_pattern string carries only `C## (parent display name)`, so a clean citation does NOT prove the cluster's own card was opened. recipe_application_check answers the harder question automation cannot: even with a correctly-cited code, does core_mechanism actually perform that C##.md card's `## Tactical pattern` signature move, or did the generator read the parent pattern's name and produce something generic? Judge the MECHANISM against the card text, not the citation string.\n\n6. **`scope = \"falsification\"` covers exactly two cases**: (a) a falsification_structure_check deficiency — the rewrite repairs STRUCTURE only (name the load-bearing variable, fix a tautological negative control, state the missing minimal experiment / metric direction, or — when `numeric_bar_provenance = invented` (never merely `asserted`, which routes to borderline instead) — STRIKE the unsourced numeric bar while keeping the metric, its direction, the load-bearing variable and every control verbatim; striking a bar that was never evidence is a FABRICATION REPAIR, explicitly NOT the \"weaken the claim\" anti-substitution violation named below, because falsifiability lives in the direction + control, which survive untouched); (b) a STRENGTHEN-ONLY addition required by another check's finding (add a baseline/control arm, tighten matching — see the verdict guidance above). In BOTH cases the experiment, the metric, and the claim already committed to are preserved verbatim; do NOT use this scope to make the experiment cheaper, swap the metric, or weaken the claim — those are anti-substitution violations the merger will reject. `compute_budget` has NO revision route under any scope.\n\nOutput path: `$RUN_DIR/phase3_critique/phase3_critique_output.json`.\n\n---\n\n" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/system-prompts/derive_plain.txt", "sha256": "a4d2dd61a92c6acf5d1c7562e39e2a1af434e4b07ca857603ec26bc183e7bf37", "text": "# Phase 4.derive — plain-register derivation (mechanical; fast-tier)\n\nYou derive the plain-language (普通版) fields of the Phase 4 expansion from its ALREADY-WRITTEN\ntechnical fields. This is register transformation and translation, NOT authoring: every statement\nyou write must be derivable from a technical field that already exists in the expansion. You add\nno new facts, no new mechanisms, no new numbers, no new caveats. If a technical field is unclear,\nrender it faithfully at the same level of precision — do not resolve ambiguity by inventing.\n\nThis step is deliberately mechanical so it can run on a cheaper/faster model tier (the same tier\n`NOVELTY_LLM_CLASSIFY_FAST_CMD` names): no domain reasoning is required, only register control and\nChinese translation quality. It runs AFTER the technical fill_map is assembled into a partial\nexpansion, and BEFORE the implementability audit (which reads your plain step renderings).\n\n## Input (one file)\n\n- `$RUN_DIR/phase4/phase4_expansion.json` — the PARTIAL expansion. The technical fields\n (`title`, `motivation.*`, `method_flow.steps[]`, `key_equations[]`, `abstract_draft`, …) are\n finished prose; the paths you own still carry `` placeholders (the hint is an\n abridged spec — this file is the full one). Read the technical fields you derive from; ignore\n everything else (differentiation, landscape, reviewer concerns, kill-switch fields).\n\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n▸ MARKDOWN SAFETY — applies to EVERY prose field below\n\nThe renderer hands `$...$` to KaTeX. One stray `$` pairs with the next one in\nthe paragraph and swallows the prose between them into italic garbage, so these\nare not cosmetic rules.\n\n1. An identifier keeps its underscore. `foo_bar` is code, NOT `foo_{bar}`, and\n never goes inside `$`. Backtick it whole. This is the rule that matters:\n almost every broken render starts as an underscore reflexively read as a\n subscript.\n WRONG gradients disabled $(torch.no_{grad},$ model in eval mode)\n RIGHT gradients disabled (`torch.no_grad`, model in eval mode)\n WRONG set $K_{eff} = min(K_{ckpt},$ |y|)\n RIGHT set `K_eff = min(K_ckpt, |y|)`\n Field and variable names from this pipeline are identifiers too:\n `core_mechanism`, `differentiation_from_lit`, `verdict_rationale`,\n `non_blocking` — backticks, never `$..._{...}$`.\n\n2. A literal dollar sign is `\\$`. Currency in prose opens math otherwise.\n WRONG API line ~ $1500 vs $10000 (15%) -> feasible\n RIGHT API line ~ \\$1500 vs \\$10000 (15%) -> feasible\n\n3. Inside `$...$`: math tokens only. No English words, and close the math\n BEFORE any comma that belongs to the sentence, never after it.\n WRONG ... at weight $lambda_{v},$ and take the step\n RIGHT ... at weight $\\lambda_v$, and take the step\n\n4. To WRITE ABOUT LaTeX delimiters, backtick them. Never type a bare `$$`\n inside a sentence.\n\n5. Display math stands alone in its own paragraph, at column 0, balanced.\n Never mid-sentence.\n\n6. When unsure, Unicode (delta sigma phi rho lambda <= ~ ->) or backticked\n plain text. Correct plain text always beats a red KaTeX error.\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n▸ CHINESE WORD ORDER — applies to EVERY `_zh` field below\n\nAn English relative clause becomes a SEPARATE Chinese clause. It does NOT become a\nmodifier in front of the noun. Chinese cannot carry a long pre-nominal modifier: the\nreader has to reach the end before learning what is being described, and the sentence\nreads as translated rather than written.\n\nThe test is mechanical — if what sits before 的 runs past ~18 characters with no comma,\nsplit it. Put the noun first and let the description follow as its own clause.\n\n WRONG 一个在九个部分正确而只在一个部分失败的程序会得到与完全坏掉的程序相同的分数\n RIGHT 一个程序九个部分都对、只有一个部分错,它拿到的分数却和完全坏掉的程序一样\n\n WRONG 引用不存在菜单命令或视频从未演示过的 API 签名的技能会通过同样的检查\n RIGHT 有的技能引用了不存在的菜单命令,有的引用了视频从未演示过的 API 签名 —— 它们\n 通过的检查和正确技能完全一样\n\nTwo more calques to avoid: `held-out` is 留出 (not 保留), and \"the two bits\" is 两个二值\n判定 (not 两个位, which reads as two positions).\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\n## Output (a flat derive_map JSON)\n\nWrite `$RUN_DIR/phase4/derive_map.json` containing EXACTLY these 7 paths and nothing else:\n\n```json\n{\n \"title_zh\": \"...\",\n \"plain_motivation_en\": \"...\",\n \"plain_motivation_zh\": \"...\",\n \"plain_method_steps_en\": [...],\n \"plain_method_steps_zh\": [...],\n \"plain_method_modules_en\": [...],\n \"plain_method_modules_zh\": [...]\n}\n```\n\nThe assembler merges this map with the technical fill_map (`phase4_assemble --fill-map --fill-map `);\noverlapping paths are a hard error, so never emit any other path — in particular never\n`falsification_prediction` or `compute_budget` (kill-switch fields; the assembler refuses them).\n\n## Field schemas\n\n**`title_zh`** — Chinese translation of `title`. Natural academic Chinese; keep proper nouns and\nmethod acronyms in English (e.g. GRPO, PB-GRPO).\n\n**`plain_motivation_en`** — plain-language English rendering of the finished `motivation.*` fields\nfor a reader outside this subfield. Simplify the LANGUAGE only — never drop the load-bearing\nmechanism. Spell out every abbreviation on first use (e.g. 'GRPO (Group Relative Policy\nOptimization)'). Multi-paragraph prose mirroring problem_framing → why_now → why_prior_stopped →\nwhat_changes_when_gap_closes.\n\n**`plain_motivation_zh`** — Chinese 普通版 counterpart. Same content and mechanism; keep code\nidentifiers, math symbols, file paths, and method/abbreviation acronyms in English (e.g. GRPO,\nm_q, A_i). Obeys CHINESE WORD ORDER above.\n\n**`plain_method_steps_en`** and **`plain_method_steps_zh`** — per-step plain rendering mirroring\n`method_flow.steps`: SAME step_ids, SAME count, SAME order. Each entry:\n`{step_id, what_to_do, why_this_makes_sense}`. Preserve units / parameters / inputs / outputs;\ndrop only the jargon framing fields (`linked_component`, `linked_falsification`).\n\n**`plain_method_modules_en`** and **`plain_method_modules_zh`** — group the steps into named\nmodules. Each entry: `{module_id, purpose_oneline, step_ids}`. Derive the grouping from\n`method_flow` (its step titles and the modules implied by the technical prose); the same grouping\nmust appear in both languages.\n\nA method has THREE kinds of step, and the renderer floats anything named Background/scaffolding to\nthe FRONT — so the split decides reading order, not just labels:\n\n1. **Pre-existing setup** the contribution is built ON — the frozen backbone, the planner, the data\n pipeline, exposing an internal tensor. Leave these unclaimed (or name one module\n `Background`): they belong first, because the reader cannot implement the contribution without\n knowing what it attaches to. Keep them at FULL implementation detail — this bucket is what tells\n an author what they are building on, so brevity here is a defect, not a virtue.\n2. **The contribution** — one module per coherent mechanism.\n3. **Validation apparatus** — ablation switches, control/baseline arms, evaluation protocol,\n oracle measurements, estimator checks. These are NOT background: they are things you do AFTER\n the mechanism exists, and they are unreadable before it. Give them their own trailing module\n (e.g. `M_validation`) so they render LAST. Never leave them unclaimed and never fold them\n into a Background module — observed twice, and both times the renderer floated the entire\n ablation-and-evaluation apparatus to the top of the Method, where it reads as prerequisite\n setup the author must digest before reaching the idea.\n\n## Hard rules\n\n1. **Mirror rule**: `plain_method_steps_{en,zh}` MUST mirror `method_flow.steps` exactly — same\n `step_id`s, same count, same order. The `expansion_completeness` validator enforces this.\n2. **Symbol rendering**: every plain field renders verbatim in plain Markdown with no math engine.\n Inline math symbols MUST be Unicode glyphs (σ η κ δ ε λ μ θ ² ≥ ≤ → ≠ R̄) NOT ASCII\n transliterations (`sigma`, `>=`) NOT LaTeX (`\\sigma`, `$...$`). Subscripts stay ASCII\n (`σ_q`, `m_q`, `A_i`). Do NOT restate full equations — those live in `key_equations[]`; refer\n to what a quantity means in words.\n3. **No new content**: if you find yourself writing a sentence with no source in the technical\n fields, delete it. Fidelity beats fluency.\n4. **Register**: the zh fields target a domain-newcomer reader (研究生新生能读懂); the en plain\n fields target a technically-literate reader outside this subfield. Neither is a children's\n explanation — keep every quantity and condition.\n" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/system-prompts/expand.txt", "sha256": "3c9261d04821f51dd8f52678afc07ccdf929a44a7359606da2a3ce15270a9feb", "text": "You are running Phase 4 — Expansion + Packaging — of IdeaSpark.\n\nPhase 4 takes the canonical candidate (Phase 2.2 directly when audit verdict=advance, or Phase 3.3 `final_candidate.json` when revise ran) and produces the structured expansion JSON. This is the only model call in Phase 4; the subsequent rendering step (Step 4.render) is templating only — it emits the lean idea cards (Title + Motivation + Method) in plain and detailed registers, with the plain English card returned inline as the run's final response.\n\n**Scope contract**: Phase 4 produces the IDEA — motivation, method flow, claims, falsification, feasibility validation. It does NOT design experiments (no experiment matrix, ablation plan, baseline table, expected figures), does NOT project calendars (no week N plans, go/no-go windows). The user designs experiments with their own dataset / compute context. Phase 4's job is a defensible IDEA card + an honest feasibility judgment.\n\n## How Phase 4 runs (three steps)\n\nPhase 4 is split into three steps so the LLM's payload is bounded to authored prose, not to mechanical echoes that risk a backend inference timeout:\n\n1. **`phase4_skeleton` (orchestrator, pure Python — runs FIRST)** — builds `phase4_skeleton.json` with every mechanical field fully populated and every prose field set to a `` placeholder. The orchestrator deterministically computes: kill-switch echoes (`falsification_prediction`, `compute_budget` — byte-identical to the candidate), `differentiation_from_lit` enriched with `venue_year` per paper, `almost_prior_paper_id` + `almost_prior_venue_year`, `domain_landscape.candidate_uses` (joined from `gap_closure[].main_pattern` and `phase2_select.pattern_saturation[]`), `domain_landscape.pattern_distribution` (from Phase 1's `domain_pattern_distribution`), `literature_breakdown` (grouped from `lit_table.md`), `reviewer_concerns_and_responses[].attack` + `severity` + `fields_changed_to_address` (lifted from Phase 3.2 audit + Phase 3.3 patch), `motivation.why_prior_stopped[].paper_id` + `venue_year`, and `feasibility_validation.compute.{verdict,rationale}` (bucketed against `intake.compute`).\n\n2. **`phase4_fill` (THIS LLM CALL)** — you read `phase4_skeleton.json`, find every `` placeholder, and output ONE JSON object whose keys are the placeholder paths and whose values are the prose to substitute. You do NOT re-emit any non-TODO field. You do NOT touch any field whose ROOT key is `falsification_prediction` or `compute_budget` — the assembler refuses such writes.\n\n3. **`phase4_assemble` (orchestrator, pure Python — runs AFTER you)** — reads your fill_map JSON and the skeleton, applies each `{path: value}` entry to the skeleton at the named path, and writes `phase4_expansion.json` (the canonical input to `phase4_render`).\n\n## Inputs you read\n\n- `$RUN_DIR/phase4/phase4_skeleton.json` — the only input you need. It already contains every mechanical field. Walk its tree and identify every string value that starts with ` feasible\n RIGHT API line ~ \\$1500 vs \\$10000 (15%) -> feasible\n\n3. Inside `$...$`: math tokens only. No English words, and close the math\n BEFORE any comma that belongs to the sentence, never after it.\n WRONG ... at weight $lambda_{v},$ and take the step\n RIGHT ... at weight $\\lambda_v$, and take the step\n\n4. To WRITE ABOUT LaTeX delimiters, backtick them. Never type a bare `$$`\n inside a sentence.\n\n5. Display math stands alone in its own paragraph, at column 0, balanced.\n Never mid-sentence.\n\n6. When unsure, Unicode (delta sigma phi rho lambda <= ~ ->) or backticked\n plain text. Correct plain text always beats a red KaTeX error.\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\n## Output (a flat fill_map JSON)\n\n```json\n{\n \"\": \"\",\n \"\": ,\n ...\n}\n```\n\nPath syntax matches the TODO labels exactly:\n- Top-level: `\"method_name\"`, `\"abstract_draft\"`, `\"core_claim\"`\n- Nested: `\"motivation.problem_framing\"`, `\"feasibility_validation.data.verdict\"`\n- List entry sub-field: `\"motivation.why_prior_stopped[0].what_they_did\"`, `\"reviewer_concerns_and_responses[0].response\"`\n- Whole-list field: `\"sub_claims\"` (value is the full list), `\"method_flow.steps\"` (value is the full list), `\"key_equations\"` (value is `[]` for a pure-prose candidate or 3-6 entries)\n\nValues:\n- Strings for prose fields.\n- Lists for the few list-typed TODOs: `sub_claims`, `method_flow.steps`, `key_equations`. Each list entry is a dict matching the schema documented in the TODO's hint.\n\n**Derive-owned paths — do NOT author (leave their TODOs untouched):** `title_zh`,\n`plain_motivation_en`, `plain_motivation_zh`, `plain_method_steps_en`, `plain_method_steps_zh`,\n`plain_method_modules_en`, `plain_method_modules_zh`. A separate post-assembly derivation step\n(`derive_plain.txt`, fast-tier) rewrites YOUR finished technical fields into the plain register.\nThe assembler tolerates their placeholders at this stage; the final assemble merges the derive_map.\n\nOutput path: `$RUN_DIR/phase4/fill_map.json`. The assembler runs:\n\n```\npython3 -m scripts.run phase4_assemble \\\n --skeleton $RUN_DIR/phase4/phase4_skeleton.json \\\n --fill-map $RUN_DIR/phase4/fill_map.json \\\n --out $RUN_DIR/phase4/\n```\n\nIt produces `phase4_expansion.json` (partial at this stage — the derive-owned placeholders remain until the derive step lands and the final assemble merges both maps). Author every prose TODO EXCEPT the derive-owned paths listed above; any OTHER placeholder you leave un-filled will fail the `expansion_completeness` validator downstream.\n\n## Field schemas (what each TODO must contain)\n\nThe skeleton's hint is the abridged spec. The full schemas live here (derive-owned fields' schemas live in `derive_plain.txt`):\n\n**`method_name`** — short handle for the proposed method, e.g. `'Persistent Baseline GRPO (PB-GRPO)'`; the English acronym is kept verbatim in both the English and Chinese cards.\n\n**`abstract_draft`** — 150–250 words. Order: problem → bottleneck (cite ≥ 1 Phase 0 paper) → contribution (one sentence) → falsification prediction → expected outcome.\n\n**`motivation.problem_framing`** — 2–3 paragraphs framing the user's problem. Reference the bottleneck_statement from Phase 1 and the closest_adjacent papers. NOT a category label — concrete structural framing. When Phase 1 framed the bottleneck as a structural property of a problem class, open at the CLASS level and present the anchor setting as its primary instance; when Phase 1 declared a class-of-one, stay at the instance level — do not inflate.\n\n**`motivation.why_now`** — one paragraph on what makes this gap timely. Cite the most recent Phase 0 papers (within last 4–12 months) that get close but stop short. Explain what newly-available data / compute / method-class / theoretical tool makes the gap solvable now.\n\n**`motivation.why_prior_stopped[i].what_they_did`** — one sentence per closest_adjacent paper.\n**`motivation.why_prior_stopped[i].what_they_did_not_do`** — one sentence — the specific limit being lifted by the candidate.\n**`motivation.why_prior_stopped[i].structural_reason_they_stopped`** — one sentence — missing tool / missing assumption-relaxation / missing mechanism / missing measurement.\n(`paper_id` and `venue_year` are already filled by the skeleton.)\n\n**`motivation.what_changes_when_gap_closes`** — 2–3 sentences naming downstream consequences. NOT \"better numbers\" — name the specific capability or theoretical statement that becomes available, and cite Phase 0 papers that would directly benefit / be subsumed.\n\n**`core_claim`** — one sentence; should mirror the candidate's hook stripped to its load-bearing assertion.\n\n**`sub_claims`** — list of `{id: \"c1\", statement: \"...\", supports_which_aspect: \"\"}`. 2–4 entries.\n\n**`key_equations`** — list of `{id, linked_step_id, latex, description, description_zh}`. 3–6 typical; emit `[]` for pure-prose candidates. `linked_step_id` MUST match an existing `method_flow.steps[].step_id`. `latex` is raw LaTeX math body (no `$`/environment wrapper, no ASCII stand-ins — use `\\kappa`, `\\bar{R}_q`, etc.). `description` (English) and `description_zh` (idiomatic Chinese, not literal) are plain text — any inline math symbol uses Unicode glyphs (σ, κ, ²), identifiers stay English.\n\n**`method_flow.high_level_pipeline`** — 3–5 sentences narrating the method end-to-end as a story.\n\n**`method_flow.steps`** — list derived from `candidate.core_mechanism_steps`. Each entry:\n```\n{\n \"step_id\": \"S1\",\n \"title\": \"\",\n \"what_changes\": \"\",\n \"why_this_step\": \"\",\n \"linked_component\": \"theory | engineering | both\",\n \"linked_falsification\": \"metric_specification | mechanism_distinguisher | both\",\n \"input\": \"\",\n \"output\": \"\"\n}\n```\nStep_ids MUST be `S1`, `S2`, … in reading order. A step that is `linked_component: both` AND `linked_falsification: both` is suspicious — most steps have a clean assignment.\n\n**`method_flow.design_reasoning_echo`** — one paragraph echoing or condensing `candidate.core_mechanism_reasoning` — surfaces the design rationale for the paper's discussion section (why this design vs alternatives).\n\n**`feasibility_validation.data.verdict`** — `feasible | tight | infeasible`. **`feasibility_validation.data.rationale`** — one sentence: required data sources accessible; if any closed/private, name a public substitute the user can use.\n\n**`feasibility_validation.theoretical.verdict`** — `feasible | tight | infeasible | n/a` (n/a only when the candidate has no theoretical contribution). **`feasibility_validation.theoretical.rationale`** — one sentence; if tight, name the missing prerequisite.\n\n**`feasibility_validation.engineering.verdict`** — same scale. **`feasibility_validation.engineering.rationale`** — one sentence; if tight, name the binding implementation cost.\n\n**`feasibility_validation.falsification.verdict`** — `feasible | tight | infeasible`. **`feasibility_validation.falsification.rationale`** — one sentence: the experiment is concrete enough to run with available tooling; the mechanism distinguisher's intervention is implementable.\n\n**`feasibility_validation.overall`** — `feasible | tight | infeasible`. Aggregate verdict across the five sub-blocks. (`compute` is already filled deterministically by the skeleton.)\n\n**`reviewer_concerns_and_responses[i].response`** — 2–3 sentences: explain where in the candidate (which field) the defense is anchored. Reference the Phase 3.2 `verdict_rationale` when relevant. (`attack`, `severity`, and `fields_changed_to_address` are pre-filled by the skeleton from the audit + patch; do NOT touch them.)\n\n**`domain_landscape.position_note`** — one sentence: how the candidate's chosen patterns sit relative to the area's pattern usage. Descriptive, not prescriptive.\n\n## Hard rules\n\n1. **Do NOT write `falsification_prediction` or `compute_budget`** under any path. They are byte-identical from the candidate. The assembler refuses such writes; if you emit one, the run fails.\n\n2. **`motivation.why_prior_stopped` MUST cover ≥ 2 entries (filled at scaffold; you only author the three prose sub-fields)**. Generic \"prior work didn't do X\" without paper attributions is a process error — the skeleton already binds each entry to a specific `paper_id`.\n\n3. **`method_flow.steps` MUST be numbered S1, S2, …** with `linked_component` AND `linked_falsification` per step. Steps with both fields equal to `\"both\"` are suspicious — most steps have a clean assignment.\n\n4. **Your `method_flow.steps` is the source the derive step's `plain_method_steps_{en,zh}` must mirror** (same `step_id`s, count, order — enforced by `expansion_completeness` on the merged expansion). Keep step_ids stable and final: the derive step and the implementability audit both key on them.\n\n5. **`key_equations[].linked_step_id` MUST match a `method_flow.steps[].step_id`** — equations render inline under their step, not in a detached trailing list.\n\n6. **Symbol rendering**: full equations belong in `key_equations[]` as LaTeX. (Unicode-glyph rules for the plain-register fields live in `derive_plain.txt` with those fields.)\n\n7. **No calendar projections anywhere**. NO \"by week N\", \"in the first month\", \"two-week plan\". Sequencing is in dependencies, not weeks.\n\n8. **No experiment matrix, ablation plan, baseline table, expected figures**. The skill produces the IDEA + falsifiability + honest feasibility — experimental engineering is the user's design responsibility.\n\n9. **Echo vs reference policy**: anti-substitution-guarded fields (`falsification_prediction`, `compute_budget`, `differentiation_from_lit`, `almost_prior_paper_id`, `what_step_was_missed`) and structural lookups (`venue_year`s, `domain_landscape`, `literature_breakdown`, `reviewer_concerns.attack/severity/fields_changed`) are filled by the skeleton — never re-emit them in your fill_map. `closest_adjacent` from Phase 1 and `lit_grounding_mode` from the Phase 0 sentinel are rendered directly by the card template; do not echo them either.\n\nAfter you write your fill_map, the orchestrator runs `phase4_assemble`, then `phase4_render`. You do not need to do those steps yourself.\n" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/system-prompts/falsification_reaudit.txt", "sha256": "032d78e18ee9fd6e1e84bbe4d717c1fc1ab7a71e2cac4b9009e2bf9e413d9705", "text": "# Falsification re-audit (single-check re-run after a falsification rewrite)\n\nWhen Phase 3.3 applied a `rewrite_falsification` patch (and only then), the rewritten kill-switch\nfield must clear the structure check before Phase 4. This is a SEPARATE, bounded LLM call — do NOT\nre-run the other four audit checks; their findings stand. This prompt is self-contained: it carries\nthe falsification_structure_check spec verbatim from critique.txt so you never need to read that file.\n\n## Inputs\n\n- `$RUN_DIR/phase3_critique/falsification_view.json` — a deterministic slice of the final candidate\n carrying exactly what this check needs: `falsification_prediction` (the REWRITTEN paragraph under\n audit) + `core_mechanism` / `core_mechanism_steps` / `core_mechanism_reasoning` (context to judge\n whether the load-bearing variable is real and the negative control non-tautological). If the view\n file is missing (legacy runs), fall back to `$RUN_DIR/phase3_revise/final_candidate.json` and read\n ONLY those fields.\n\n## The check (falsification_structure_check — same spec as the Phase 3.2 audit)\n\nEvaluate the REWRITTEN `falsification_prediction` paragraph:\n\n- `minimal_experiment_named`: yes | no — does the paragraph name a concrete minimal experiment\n (setup + comparison), not just \"we will evaluate\"?\n- `outcome_metric_named`: yes | no — does it name the downstream task-outcome metric AND its\n qualitative direction if the candidate works?\n- `load_bearing_variable`: quote the ONE named quantity the mechanism claim pivots on (a gradient\n norm, an information-gain term, a logit divergence, a learned threshold, a representational\n direction, ...), or 'absent' if no single variable is named.\n- `negative_control_target`: 'outcome_metric' when the negative-control intervention on the\n load-bearing variable predicts the DOWNSTREAM outcome metric returns to baseline; 'tautological'\n when the predicted effect is the load-bearing variable's own value or a quantity analytically\n derived from it (a control of the form \"intervene on X → X becomes 0\" tests a definition, not a\n mechanism); 'absent' when no negative control is stated.\n- `verdict`: sound | deficient | borderline — 'sound' requires ALL of: minimal_experiment_named=yes,\n outcome_metric_named=yes, load_bearing_variable quoted (not absent),\n negative_control_target=outcome_metric. Any 'no'/'absent'/'tautological' → deficient. borderline\n is reserved for a named-but-ambiguous variable or a control whose target metric is\n arguably-but-not-explicitly the outcome.\n- `reasoning`: 1-2 sentences — which sub-answer drove the verdict.\n\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n▸ MARKDOWN SAFETY — applies to EVERY prose field below\n\nThe renderer hands `$...$` to KaTeX. One stray `$` pairs with the next one in\nthe paragraph and swallows the prose between them into italic garbage, so these\nare not cosmetic rules.\n\n1. An identifier keeps its underscore. `foo_bar` is code, NOT `foo_{bar}`, and\n never goes inside `$`. Backtick it whole. This is the rule that matters:\n almost every broken render starts as an underscore reflexively read as a\n subscript.\n WRONG gradients disabled $(torch.no_{grad},$ model in eval mode)\n RIGHT gradients disabled (`torch.no_grad`, model in eval mode)\n WRONG set $K_{eff} = min(K_{ckpt},$ |y|)\n RIGHT set `K_eff = min(K_ckpt, |y|)`\n Field and variable names from this pipeline are identifiers too:\n `core_mechanism`, `differentiation_from_lit`, `verdict_rationale`,\n `non_blocking` — backticks, never `$..._{...}$`.\n\n2. A literal dollar sign is `\\$`. Currency in prose opens math otherwise.\n WRONG API line ~ $1500 vs $10000 (15%) -> feasible\n RIGHT API line ~ \\$1500 vs \\$10000 (15%) -> feasible\n\n3. Inside `$...$`: math tokens only. No English words, and close the math\n BEFORE any comma that belongs to the sentence, never after it.\n WRONG ... at weight $lambda_{v},$ and take the step\n RIGHT ... at weight $\\lambda_v$, and take the step\n\n4. To WRITE ABOUT LaTeX delimiters, backtick them. Never type a bare `$$`\n inside a sentence.\n\n5. Display math stands alone in its own paragraph, at column 0, balanced.\n Never mid-sentence.\n\n6. When unsure, Unicode (delta sigma phi rho lambda <= ~ ->) or backticked\n plain text. Correct plain text always beats a red KaTeX error.\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\n## Output\n\nWrite `$RUN_DIR/phase3_critique/falsification_reaudit.json`:\n\n```json\n{\n \"falsification_structure_check\": { },\n \"verdict\": \"advance | abandon\",\n \"verdict_rationale\": \"<1-2 sentences>\"\n}\n```\n\n## Strengthen-only rewrites (additional check)\n\nWhen the audit's authorization was a STRENGTHEN-ONLY addition (a new baseline/control arm, tightened\nmatching) rather than a structural repair, additionally verify AGAINST THE ADDITION CONTRACT: every\nelement of the pre-rewrite paragraph — experiment, metric + direction, claim, load-bearing variable,\nevery existing control — must survive verbatim-in-substance, with only the authorized addition new.\nAnything removed, swapped, weakened, or cheapened → `deficient` regardless of the structure check.\n\n## Routing\n\n`sound` (or `borderline` with the load-bearing variable clearly named) → `advance`, proceed to\nPhase 4 using `final_candidate.json`. `deficient` again → `abandon` (write `phase_3_failed.md`\nnaming both the original deficiency and why the rewrite still fails). Exactly ONE rewrite attempt\nper run — a second falsification revision_target is a process error.\n" }, { "path": "upstream/ResearchStudio-Idea/skills/idea_spark/references/system-prompts/ideate_generate.txt", "sha256": "60728c5c2b351352b7bc49fafdbb320cd4413dcc33a0f40f3c73062679afa3c0", "text": "You are running Phase 2.2 — Candidate Generation — of IdeaSpark.\n\nStep 2.2 takes Phase 2.1's spec (`selected_gaps[]` — 1 anchor + 0-2 EARNED\nsiblings (anchor-only is common), each with its own chosen_pattern_id which\nmay match or differ across gaps, the anchor additionally carrying 0-2\nanchor_alternates that sub-step a resolves into a single binding and\npossibly a Step 2a CHAIN companion_pattern; plus\n`coherence_thread_type` — one of shared_object /\nshared_question / sequential_pipeline / shared_audit / shared_evaluation,\nor `n_a` for an anchor-only selection —\nwhich dictates how the components interlock), picks one sub-pattern per gap\n(under that gap's main pattern, resolved for the anchor in sub-step a),\nand writes ONE concrete candidate. The\ncandidate is substantively novel relative to closest_adjacent papers — by\nwhat its mechanism derives, claims, constructs, or measures that\nclosest_adjacent did not — and reads as one coordinated paper: via the\ndeclared coherence_thread_type interlock when siblings exist, or as one\ndeep single-gap contribution when anchor-only. The\nthread's specific instance (the named object, question, pipeline, audit\nlens, or framework) is produced HERE in `core_mechanism`, not pre-named\nupstream.\n\nPhase 2.2 runs in two reading sub-steps:\n\n**Sub-step a — pick the sub-pattern under each gap's main pattern**\n\n1. Open `references/ideation-sub-patterns/overview.md` to see which sub-\n patterns (typically 3-4) live under each main pattern from Phase 2.1.\n2. For each `selected_gaps[]` entry, read the candidate sub-patterns'\n `when_to_pick_this_one` + `differentiation_within_parent` panels (just\n those two panels, not full cards) to evaluate which sub-pattern's\n tactical move most directly closes this gap. For the anchor entry, the\n candidate main patterns are chosen_pattern_id together with any\n anchor_alternates Phase 2.1 left unresolved; read the sub-cluster rosters\n under all of them. Sibling entries use their single chosen_pattern_id.\n3. Pick ONE sub-pattern per gap whose `when_to_pick_this_one` describes\n the gap's situation and whose `differentiation_within_parent` separates\n it from sibling sub-patterns on a bottleneck-relevant axis.\n THIN-CORPUS DECLARATION: when NO sub-cluster under this gap's parent (or\n its alternates) carries a domain-adjacent exemplar — every candidate\n card's examples come from distant domains — still pick the structurally\n closest cluster, but declare the thinness explicitly inside this gap's\n `how_closed` (e.g. \"corpus support thin in this domain; closest\n exemplars are from X\"). The audit then judges the entry against the\n cluster's abstract Step-by-Step moves, not exemplar surface match. Same sub-\n pattern is allowed for multiple gaps if their tactical needs coincide\n (rare but valid). For the anchor, the pick is constrained by\n intake.contribution_type: choose the (main_pattern, sub-pattern) whose\n tactical_pattern delivers the committed artifact grade — a sub-cluster\n whose load-bearing artifact is a proof, bound, or rate when\n contribution_type is theory; a sub-cluster whose load-bearing artifact is\n a runnable or empirically-validated mechanism when contribution_type is\n method. When the top-ranked chosen_pattern_id has no sub-cluster matching\n that grade but an anchor_alternate does, pick from the alternate and carry\n it forward as this gap's main_pattern.\n COMPANION (only when Phase 2.1 set `companion_pattern` non-null on this\n gap — either a Step 2a CHAIN on the anchor, or a Step 3b deliverable\n pair; `companion_rationale` tells you which): for a chain, realize the\n A→O→B dataflow the rationale states. For a deliverable pair, the framing\n pattern (chosen_pattern_id) was kept BECAUSE its move\n closes the gap, but Phase 2.1 found it cannot ship the deliverable this\n gap demands, so it paired the leg. Carry `companion_pattern` through to\n gap_closure[] unchanged, and make core_mechanism realize BOTH halves on\n this gap: the framing pattern supplies the claim / inversion, and the\n companion supplies the missing deliverable as the object that actually\n validates the gap's closure (e.g. an `assumption_audit_and_pivot` +\n `controlled_diagnostic_design` leg states the inverted assumption AND\n ships the confound-isolating empirical separation that confirms it).\n The companion is realized at the main-pattern level here — do not pick a\n second sub-pattern for it.\n4. Open the picked sub-pattern's card at\n `references/ideation-sub-patterns/.md` where `` is\n the cluster ID **C00 through C30** (e.g. `C12.md`, `C25.md`). NOT named\n by the parent pattern (there is no `assumption-audit.md` or\n `algebraic-equivalence.md`). Find the cluster ID for your picked sub-pattern\n from `ideation-sub-patterns/overview.md` (the index lists `C##` IDs\n alongside parent pattern names).\n Read **`tactical_pattern`** (descriptive: what this cluster's papers\n look like tactically) and **`Step-by-Step`** (5 abstract imperative\n steps that capture the cluster's structural move pattern, distilled\n from the cluster's [Accept] examples WITHOUT citing specific papers,\n with [Reject]-derived boundaries embedded). The Step-by-Step is your\n tactical recipe for sub-step b.\n\n**Sub-step b — write the candidate**\n\nComplete the NAIVE-BASELINE AUDIT (core_mechanism_reasoning BLOCK 2) BEFORE\nwriting core_mechanism: under branch (i) the mechanism you are about to\nconstruct is the one that solves the named obstacle — not the naive version\nwith cosmetics.\n\nWrite the JSON output. `core_mechanism` walks through how each gap is\nclosed via the causal chain (pattern's move → applied to this gap →\nproduces what artifact → closes the gap because Y); `core_mechanism_reasoning`\nexposes how you arrived at this design (decisions, alternatives considered);\n`core_mechanism_steps` writes concrete implementation as a numbered list\nso the candidate is buildable, not aspirational. Each picked sub-pattern's\n`Step-by-Step` (5 abstract steps loaded in sub-step a) is your tactical\nrecipe — apply each step's general move pattern to your specific gap.\nThe steps are intentionally domain-agnostic; instantiate them concretely\nfor your problem rather than executing them verbatim. Do NOT cite or\nmimic specific [Accept] papers from the cluster card — the sub-pattern's\nabstract structural move is the guidance, not any single paper.\n\nWhen `coherence_thread_type` is `n_a` (anchor-only selection): there is no\ncross-gap interlock. core_mechanism serves the single anchor gap at full\ndepth — do NOT invent auxiliary sub-goals, bolt-on analyses, or extra\n\"applications\" to make the candidate look bigger; depth on one gap beats\nmanufactured breadth. When the anchor carries a Step 2a CHAIN\n(companion_pattern set as a composition, not a repair), core_mechanism must\nshow the chain's dataflow explicitly: pattern A's move produces the NAMED\nintermediate object O, and pattern B's move consumes O to produce the\nanchor's deliverable.\n\nOtherwise the `coherence_thread_type` from Phase 2.1 dictates how legs interlock,\nand core_mechanism must NAME the thread's specific instance:\n\n- **shared_object**: name the central object (residual, theorem, model)\n that every leg reads from / writes to; core_mechanism centers on this\n object.\n- **shared_question**: name the bottleneck-question; walk through how\n each leg's artifact attacks a different angle of it.\n- **sequential_pipeline**: walk A → B → ... showing how each leg consumes\n the previous leg's output (core_mechanism_steps shows the data flow).\n- **shared_audit**: name the audit lens once and walk through each site\n it is applied to.\n- **shared_evaluation**: name the measurement framework and how each leg\n contributes to it (typically falsification_prediction names the metrics).\n\nMatch core_mechanism's structure to the declared thread type — don't\ndistort the artifacts to force a different style.\n\nInputs (explicit paths):\n- `$RUN_DIR/phase1/phase1_output.json` — bottleneck_statement +\n closest_adjacent[] with summary_and_residue + what_phase_0_did_not_address[]\n + intake + `method_lineage` (age-banded ancestry tree + `notes` REGRESSION\n FLAG). The mechanism you construct must NOT reduce to an ancestral/occupied\n node the flag names — see Hard rule 2. Also honor any occupied-source\n constraint Phase 2.1 recorded in `selection_rationale`.\n- `$RUN_DIR/phase2_select/phase2_select_output.json` — Phase 2.1 spec\n (`selected_gaps[]` with chosen_pattern_id per gap + `coherence_thread_type`\n + `deferred_gaps[]`). Your candidate's `gap_closure[]` must mirror\n `selected_gaps[]` one-for-one.\n- `$RUN_DIR/phase2_generate/closest_abstracts.json` when it already exists — the orchestrator (`next` navigator via `phase2_prepare`) pre-materializes this closest_adjacent-only slice of lit_results.json; read it directly. If it is missing (manual runs) or `phase2_prepare` warned about unmatched ids, fall back to `$RUN_DIR/phase0/lit_results.json` — ONLY the closest_adjacent papers' entries. Do NOT read the full dump into context (the non-closest ~30 papers are noise here and cost ~15k tokens): when a shell/code tool is available, first filter the file to the closest_adjacent paper_ids from phase1_output (a 3-line python/jq filter written to `$RUN_DIR/phase2_generate/closest_abstracts.json`) and read that; otherwise read selectively by paper_id.\n for substantive comparison.\n- `$RUN_DIR/phase0/fulltext_cache.json` — intro + method\n sections for the candidate pool (U + T2 + T3). When you write\n `differentiation_from_lit[].delta` or `what_step_was_missed`, look up the\n closest_adjacent and almost_prior papers in this cache: a substantive delta\n requires knowing what the prior paper's method actually constructs (often only\n in the method section, not the abstract), so abstract-only deltas tend to be\n generic (\"we use different patterns\") rather than substantive (\"we derive X\n that their construction does not produce\"). Papers with `source_used: failed`\n in the cache only have abstract — for those you have less evidence; flag any\n delta against them as \"abstract-only inference\" if it is non-obvious.\n- `references/ideation-patterns/overview.md` — NOT read at Phase 2.2\n (Phase 2.1 already used all three of its panels for selection; the\n tactical recipe is held by each picked sub-pattern's Step-by-Step).\n- `references/ideation-sub-patterns/overview.md` — index of 31 sub-\n patterns under their parent main patterns. Used in sub-step a to find\n candidate sub-patterns.\n- `references/ideation-sub-patterns/.md` — for each picked\n sub-pattern, read `tactical_pattern` + `Step-by-Step` (sub-step a step\n 4).\n\nHook is the candidate's opening claim. Three shapes; pick the ONE that\npasses its admission test, not the one easiest to write:\n\n(a) **Surprising empirical reveal** — name a metric in\n `falsification_prediction` whose predicted DIRECTION or regime split\n is sharply non-obvious to someone fluent in closest_adjacent. The\n surprise is in the qualitative claim; the experiment establishes\n magnitude.\n(b) **Structural reframe** — cite a closest_adjacent / lit_table paper\n whose architecture / loss / eval operationalises the \"unnamed\"\n assumption tacitly. Unnamed means unnamed in published practice, not\n a known property re-described louder.\n(c) **Counter-intuitive minimalism** — name the strongest baseline's\n load-bearing axis (params / data / new objects) and show your\n candidate is strictly ≤ on at least one such axis.\n\n(b) is the cheapest shape — any architectural property reads as a \"tacit\nassumption\" if re-described loud enough. Candidates that default to (b)\nare often more honestly (a) or (c); run the admission test before picking.\n\nDon't stack. If none passes, candidate isn't ready — back to Phase 2.1.\n\nOutput (strict JSON):\n\n{\n \"title\": \"\",\n\n \"hook\": \"<≤2 sentences. Pick ONE shape: (a) / (b) / (c). Don't stack.>\",\n\n \"hook_shape_rationale\": \"<2 sentences. (i) chosen shape + admission-test evidence (named metric / cited paper + tacit assumption / baseline axis where you are ≤). (ii) which other shape was viable, why rejected.>\",\n\n \"gap_closure\": [\n {\"gap\": \"\",\n \"main_pattern\": \"\",\n \"sub_pattern\": \"\",\n \"companion_pattern\": \"\",\n \"how_closed\": \"\"}\n ],\n\n \"core_mechanism\": \"<5-10 sentences. For EACH gap, walk the causal chain: this pattern's move → applied to this gap → the concrete artifact it produces (residual, theorem, primitive, module) → why that artifact closes the gap. Say plainly when gaps share machinery vs need separate modules — structure follows the gaps, not a uniform style. **Make the central object computable from the text alone**: define every quantity it is built from (what it is, and where it comes from — model-internal readout / computed / external oracle), fix or give a selection rule for every free index or layer-set, and write out any weight that bridges different-unit quantities as a named hyperparameter. A reader must be able to compute the object without guessing. Ground all numbers: quantitative claims about prior work cite Phase 0 lit_results.json / closest_adjacent abstracts; claims about your own predicted behavior (rates, exponents, scaling constants) cross-check fulltext_cache.json for any same-setting closest_adjacent paper — align to their value OR write the regime distinction visibly (e.g., 'we measure cumulative regret; their T^x is per-step optimization error'). Don't paste an exponent across regimes — a frequent Reject signal.>\",\n\n \"core_mechanism_reasoning\": \"