Implement declaration-granular incremental compilation and reusable state

Abierto
#41 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
20/100
Tipo de issue
Nueva funcionalidad
Claridad
Necesita aclaración
Estado de actividad
Tranquilo
Stack tecnológico
fsharp

Línea de trabajo

Comienza con el issue principal #8 y los bloqueadores #34, #38 y #40; después, lee los ADRs 0003, 0013, 0016, 0018 y 0022 junto con los requisitos persistentes de NativeAOT service, semantic-query, caché y compilación. No se especifican archivos ni pruebas por nombre; se considera terminado cuando los criterios de aceptación enumerados están definidos y probados, y la compilación limpia sigue siendo la referencia de corrección.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

wayfinder:task

Parent: #8
Blocked by: #34, #38, and #40

Outcome

Implement Warm Compilation through the persistent NativeAOT service, declaration-aware semantic queries, and versioned memory and content-addressed disk caches.

Acceptance criteria

  • Query keys include complete source, reference, option, toolchain, schema, and artifact-affecting inputs.
  • Explicit declaration dependencies and file checkpoints drive reuse and conservative invalidation; the final link remains fresh.
  • Exported, implementation, debug, and diagnostic fingerprints explain every reuse, recheck, re-lower, and re-emit decision.
  • Standalone clean compilation is the correctness reference for every reused result.
  • Service ownership, epochs, concurrency, cancellation, protocol negotiation, stale-daemon recovery, compare-and-swap state publication, isolation, integrity, eviction, and restart reuse are defined and tested.
  • Failed requests do not advance last-successful state or artifacts; uncertainty widens invalidation.
  • Cold Compilation bypasses both cache levels, cache layout stays private, and structured evidence satisfies #19 without treating MSBuild skips as Warm Compilation.

Decision inputs

Issues #12 and #19; ADRs 0003, 0013, 0016, 0018, and 0022.

This issue inherits the corpus-neutral acceptance policy in #8.

Lenguaje dominante
F#
Estrellas
0
Forks
0
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

  • Sin Dockerfile ni archivo de Docker Compose
  • Tiene una plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de TheAngryByrd/fsharp2

Todos los issues de TheAngryByrd/fsharp2

Issues similares

Más issues de Build System

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.