Communitygithub.com

maskshell/solidforge

Un sistema de ingeniería en bucle para agentes de codificación de IA, empaquetado como un plugin de Claude Code. Converge → especifica → implementa: desarrollo TDD paralelo con compuertas de convergencia de doble anillo, revisión adversarial entre fuentes, verificación de citas basada en fuentes y búsqueda de colisiones con arte previo: cobertura honesta en cada compuerta, nunca un verde silencioso.

¿Qué es solidforge?

SolidForge es un sistema de ingeniería en bucle diseñado para agentes de codificación de IA, como Claude Code. Su habilidad principal, `prior-art-search`, actúa como un detector de colisiones de novedad basado en búsqueda, verificando si un documento (como un paper de diseño o una especificación) sobreafirma su novedad al buscar arte previo no citado. A diferencia de `cross-source-review` (que converge el eje de proceso) o `primary-source-verification` (que verifica fuentes citadas), `prior-art-search` escanea el corpus de arte existente (arXiv, web, repositorios públicos) en busca de trabajos que ya hayan hecho afirmaciones similares. Nunca emite un veredicto de `novel_confirmed`, sino una divulgación honesta de cobertura (`collisions_under_known_coverage`) que clasifica cada afirmación de novedad como colisión, relevante no citada, clara bajo búsqueda o inconclusa. Esto es fundamental porque la ausencia de evidencia no es evidencia de ausencia. La habilidad sigue un pipeline de una sola ronda (extraer afirmaciones de novedad, buscar colisiones, divulgar cobertura) y se complementa con otras habilidades como `primary-source-verification` y `blueprint-crafting`, sin fusionarse con ellas. Es útil para evitar afirmaciones de novedad infladas en documentos de investigación, especificaciones o diseños, asegurando honestidad en cada compuerta del proceso de desarrollo.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add maskshell/solidforge

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Cobertura de Novedad

Un detector de colisiones por afirmación de novedad, de solo lectura y basado en búsqueda, para un artefacto en forma de documento (un paper de diseño, un documento de investigación, una especificación). Abre la superficie de novedad del eje de RESULTADO que ni cross-source-review (csr), primary-source-verification (psv) ni el researcher de blueprint-crafting alcanzan: csr converge el eje de PROCESO de un documento pero no busca arte previo; psv OBTIENE cada fuente citada (hacia atrás, citada) pero no busca arte previo no citado; el researcher RECOPILA fuentes hacia adelante para la autoría (la dirección opuesta). prior-art-search es la verificación faltante de colisión de arte previo no citado hacia atrás: BUSCA en el corpus de arte previo cada afirmación de novedad e informa las colisiones de manera honesta.

Posicionamiento Central

Basado en búsqueda, no en recuerdo

Un hallazgo de collision / uncited-relevant DEBE citar una CITA obtenida del arte previo encontrado, no un recuerdo del modelo. Un hallazgo que no pueda fundamentar una cita obtenida del texto del arte previo encontrado se degrada a inconclusive, nunca se afirma. Esta es la invariante estructural (regla 3 del espacio de trabajo + L1), reforzada por una autocompuerta (NC-I5). El texto encontrado es, a su vez, extraído por el modelo de los resultados de búsqueda — un oráculo más débil que la fuente autorizada obtenida por psv (ver la advertencia de dos capas a continuación).

Cobertura de colisión por afirmación, no un veredicto de novedad

prior-art-search NUNCA emite novel_confirmed o «el documento es novedoso». Su única señal de alto nivel es collisions_under_known_coverage: C claro-bajo-búsqueda, N colisiones, U relevante-no-citado, I inconcluso de M afirmaciones de novedad extraídas. Las afirmaciones I (y el caso M=0 — sin superficie de novedad) ESCALAN a un humano. Esta es una divulgación de cobertura honesta, NO un veredicto de novedad. El límite irreducible de ausencia de evidencia: no se puede probar un negativo («no existe arte previo»), por lo que un documento sin colisiones encontradas es «no se encontró colisión en el corpus buscado», NO «novedoso». Una habilidad simétrica de «convergencia de novedad» que itera hacia un booleano novel_confirmed es un error de categoría: aplana una divulgación de COBERTURA («no se encontró colisión en el corpus buscado») en un VEREDICTO («novedoso»), es decir, trata la ausencia de evidencia como evidencia de ausencia; prior-art-search explícitamente NO es eso. (El marco más amplio de dos ejes — proceso × resultado — es el artículo de gaming de especificaciones §4.2; prior-art-search vive enteramente en el eje de resultado, por lo que su error es interno al resultado, no una confusión proceso/resultado.)

Aditivo a csr y psv; un único pipeline

prior-art-search es ADITIVO a csr (eje de proceso) y psv (verificación de fuentes citadas); NO se fusiona con ninguno. A diferencia del debate de múltiples rondas de misma-familia + diferente-familia de csr, prior-art-search es un ÚNICO pipeline: extraer afirmaciones de novedad → buscar arte previo → veredicto de colisión por afirmación → divulgación de cobertura. El oráculo es el corpus de arte previo buscable, no un modelo de diferente familia, por lo que NO incorpora el sustrato heterogéneo de csr. psv y prior-art-search se componen: un documento de alto riesgo puede ejecutar psv (¿son precisas las fuentes citadas?) Y prior-art-search (¿las afirmaciones de novedad están libres de colisiones contra el arte previo localizable?). No se fusionan.

Debilidad del oráculo de dos capas, afirmada honestamente (regla 3 del espacio de trabajo)

El oráculo de prior-art-search es el corpus de arte previo buscable, MÁS DÉBIL que la fuente primaria obtenida por psv en DOS capas (la advertencia de honestidad estructural, propuesta §3 / ADR §8 Q4):

  1. Debilidad del lado de comparación (compartida con psv). La comparación afirmación-vs-arte-previo es juzgada por el modelo — clear-under-search significa que el modelo no encontró colisión, no que no exista. Esta es la debilidad de comparación parcial de nivel 2 de psv.
  2. Debilidad del lado de selección (propia de prior-art-search). Un resultado de búsqueda añade una debilidad de selección sobre la debilidad de comparación: sesgo de ranking, límites de recuerdo (no se puede buscar todo el corpus), y el texto de arte previo encontrado es extraído por el modelo de los resultados de búsqueda, no un rango de bytes autorizado obtenido.

Por lo tanto, prior-art-search es más débil en dos capas, no «oráculo débil vs oráculo fuerte». Esta es precisamente la RAZÓN por la que NUNCA emite novel_confirmed y por la que su señal de alto nivel es una declaración de cobertura, no un veredicto. clear-under-search significa «sin colisión en lo que se buscó», no «novedoso». El oráculo más débil es el límite irreducible de la verificación de novedad sin intervención humana.

Dos puntos ciegos, afirmados honestamente (regla 3 del espacio de trabajo)

Los pasos realizados por el modelo de prior-art-search tienen puntos ciegos que se divulgan en lugar de ocultarse: (1) la extracción de afirmaciones de novedad hereda los puntos ciegos del extractor — las afirmaciones que ni el autor ni el extractor identifican como «novedad» están ausentes de M; (2) la comparación afirmación-vs-arte-previo es juzgada por el modelo — clear-under-search significa que el modelo no encontró colisión, no que no exista. Los recuentos C/N/U/I/M son condicionales a lo que se extrajo, buscó y comparó, no una garantía de completitud. Una etapa de extracción de diferente familia es una mitigación diferida (parcial).

Alcance

  • Dentro: extraer afirmaciones de novedad atómicas de un documento (cada una: ubicación + objetivo de búsqueda); buscar el corpus de arte previo por afirmación; emitir un veredicto de colisión por afirmación (collision/uncited-relevant/clear-under-search/inconclusive) fundamentado en una cita obtenida del arte previo encontrado para colisiones; emitir un registro de colisión (collisions_under_known_coverage) + un paquete de hallazgos de colisión.
  • Fuera: revisión de código (parallel-development); autoría de especificaciones/diseño de arquitectura (blueprint-crafting); convergencia de proceso de documentos (cross-source-review); verificación de fuentes CITADAS (primary-source-verification); recopilación de investigación (blueprint-crafting researcher); un veredicto de novedad — si la novedad del documento es REAL o significativa — (humano).

Guardia de Alcance (detección en el momento de entrada)

  • El entregable es código fuente/pruebas → enrutar a parallel-development.
  • El entregable es autoría/reescritura de una especificación, diseño de arquitectura, plan de iteración o investigación → enrutar a blueprint-crafting.
  • La solicitud es «llevar una revisión adversarial de múltiples rondas a convergencia sobre este documento» → enrutar a cross-source-review (eje de proceso).
  • La solicitud es «¿las afirmaciones CITADAS de este documento se sostienen frente a sus fuentes?» → enrutar a primary-source-verification (psv = hacia atrás-CITADO; prior-art-search = hacia atrás-NO CITADO).
  • La solicitud es «¿este documento SOBREAFIRMA novedad — colisiona con arte previo que no citó?» → prior-art-search (esta habilidad).
  • La solicitud es «¿es esto novedoso / significativo / la contribución correcta?» → eje de resultado, solo humano.

La guardia es suave (recordar + enrutar, no rechazar). La Fase A se basa en la invocación explícita (/prior-art-search).

Inicio Rápido

Eres el orquestador. Las etapas son de solo lectura; el controlador ejecuta el único pipeline (NO un debate de múltiples rondas). Ejecutar en orden.

  1. Encuadrar — identificar el artefacto + su superficie de novedad. Enumerar las afirmaciones de novedad centrales (las aserciones estructurales «X es nuevo / primero / no tiene arte previo» para verificar colisiones). Declarar alcance.

  2. Extracción de afirmaciones de novedad (NC-I2) — generar solidforge:novelty-claim-extractor (contexto nuevo); lee el artefacto y enumera afirmaciones de novedad atómicas, cada una vinculada a una ubicación y un objetivo de búsqueda. Atómica = una proposición de novedad por afirmación (las compuestas se dividen). Una afirmación de novedad es una aserción de novedad («X es un nuevo marco», «Y es el primero en», «Z no tiene arte previo»). Distinguir de afirmaciones fácticas/de citas (dominio de psv — verificar, no verificar colisiones) y afirmaciones interpretativas («esto es significativo» — NO adjudicable por búsqueda; escalar a humano, etiquetado como inadmisible). (Advertencia de punto ciego del extractor: las afirmaciones que ninguna de las partes identifica como «novedad» están ausentes de M.)

  3. Búsqueda multi-fuente + veredicto de colisión (NC-I3) — para cada afirmación de novedad, buscar en el corpus de arte previo (arXiv, web, repositorios públicos) trabajos que YA hayan hecho la afirmación, luego comparar la afirmación con el arte previo encontrado y asignar uno de:

    • collision — el arte previo encontrado ya hace esta afirmación (la novedad del documento está sobrestimada); citar la fuente en colisión + CITAR el texto del arte previo encontrado (gravedad blocker; evidence DEBE citar el arte previo encontrado).
    • uncited-relevant — se encontró trabajo relevante que el documento no citó (no una colisión directa, pero una brecha de cobertura); CITAR el arte previo encontrado (gravedad warning).
    • clear-under-search — no se encontró colisión EN EL CORPUS BUSCADO (NO «novedoso»; simplemente no surgió colisión). Solo se cuenta, no es un hallazgo.
    • inconclusive — la búsqueda no pudo cubrir la afirmación (corpus con muro de pago, consulta ambigua, nada localizable); escalar a humano (gravedad coverage). Las fuentes abiertas (resúmenes de arXiv, repositorios públicos) se buscan sin credenciales; las API de búsqueda web utilizan una superficie HTTP nombrada por separado (NO el espacio de nombres de token LLM _ANTHROPIC_AUTH_TOKEN de csr — ver install.md). (Advertencia de punto ciego de comparación + la debilidad del lado de selección.)
  4. Divulgación de cobertura (NC-I4) — emitir un collision-record: collisions_under_known_coverage = C claro-bajo-búsqueda / N colisiones / U relevante-no-citado / I inconcluso de M = C+N+U+I afirmaciones de novedad extraídas; más un paquete de hallazgos de colisión (hallazgos de collision / uncited-relevant / inconclusive; las afirmaciones clear-under-search se cuentan, no se listan). M=0 (sin afirmaciones de novedad extraíbles — un documento que no hace aserciones de novedad, o todas las afirmaciones de novedad son interpretativas) e I>0 ambos ESCALAN a un humano. NUNCA novel_confirmed. Un hallazgo de collision/uncited-relevant sin una cita obtenida se degrada a inconclusive.

La señal honesta es la divulgación de cobertura — exactamente qué se buscó y qué colisionó, y qué no pudo cubrirse. Si el documento es genuinamente NOVEDOSO sigue siendo humano.

Cadena de Autoridad

  • docs/proposal.md = diseño autoritativo (maestro; CSR eje-proceso CONVERGIDO-SUSTANCIALMENTE + psv N=9/K=0 verificado, 2026-07-31).
  • docs/iteration-plan.md = plano de ejecución (elementos de trabajo de la Fase A NC-I0–NC-I6; en conflicto, proposal.md gana).
  • docs/design-decisions.md = registro ADR (las decisiones no obvias: nunca-novel_confirmed, pipeline-único-no-debate, el proxy estructural de falso positivo, la debilidad del oráculo de búsqueda de dos capas, la relación con psv/researcher, la superficie de credenciales).
  • docs/proposal.convergence.md = el rastro de revisión cruzada de la propuesta.

Coordinación con cross-source-review / primary-source-verification / blueprint-crafting / parallel-development

  • cross-source-review sigue siendo el motor de convergencia del eje de PROCESO. prior-art-search es ADITIVO y no se fusiona: substantive_converged de csr no implica la cobertura de prior-art-search, y viceversa.
  • primary-source-verification es la etapa complementaria del eje de resultado. psv = hacia atrás-CITADO (obtener cada fuente citada); prior-art-search = hacia atrás-NO CITADO (buscar arte previo que el documento NO citó). Se componen (un documento puede ejecutar ambos); no se fusionan. prior-art-search reutiliza el patrón de campo de esquema de psv (collision-findings extiende doc-findings de psv — un superconjunto estricto) y el RAZONAMIENTO de credenciales de install.md — copia-patrones, NO código (regla 7 del espacio de trabajo).
  • blueprint-crafting se mantiene puro (eje de proceso). Su researcher es HACIA ADELANTE («encontrar fuentes sobre X para autoría») — la dirección opuesta a la colisión hacia atrás de prior-art-search. No se fusionan.
  • parallel-development es propietario de la revisión de código. prior-art-search tiene forma de documento, no de código.
  • Límite de files_touched: esta habilidad es propietaria de prior-art-search/ + agents/novelty-claim-extractor.agent.md en la raíz del repositorio (reflejando solidforge:claim-extractor de psv). No modifica la lógica central de csr, psv, bc o pd (prior-art-search es aditivo). Terminología (regla 10 del espacio de trabajo): collisions_under_known_coverage es el único término de alto nivel; novel_confirmed es el término prohibido y nunca aparece como campo emitido.

Autocomprobaciones (Definición de Hecho)

Nota de madurez (construcción de la Fase A): todas las autocompuertas a continuación se envían y pasan en verde (NC-I0–NC-I6 convergidos; docs/iteration-plan.run-record.json lleva el veredicto). El dogfood en vivo N≥3 se ejecutó el 2026-08-01 en 3 artefactos reales, incluido el largo artículo de gaming de especificaciones — perfil de cobertura en docs/dogfood-run-2026-08-01.md: surgieron 2 hallazgos de relevante-no-citado a través de arte previo obtenido (spec-gaming NC34 ↔ SWE-ABS; psv NC2 ↔ AI-Powered Citation Auditing), y la conocida paradoja de auto-certificación de colisión regresó como clara-bajo-búsqueda bajo el oráculo solo de arXiv — demostrando la debilidad de dos capas en producción (un resultado de colisión cero es «sin colisión en lo que se buscó», NO «novedoso»). La compuerta offline dogfood.py cubre solo el fixture canónico (ruta de salto de la regla 1 cuando no hay red). El aplazamiento restante: una etapa de extracción de diferente familia (mitigación parcial del punto ciego del extractor). El nombre prior-art-search es PROPUESTO, pendiente de BLOQUEO humano (propuesta §8 Q1).

Un cambio de habilidad no está completo mientras alguna autocomprobación falle (regla 1 del espacio de trabajo). Ejecutar antes del commit:

python3 skills/prior-art-search/infra/test/disconnect_check.py        # estructura + cadena de carga
python3 skills/prior-art-search/infra/test/plugin_layout.py           # plugin.j

…

[truncado para traducción]

Skills relacionados