Implement declaration-granular incremental compilation and reusable state

Aperta
#41 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
20/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Tranquilla
Stack tecnologico
fsharp

Direzione di ricerca

Inizia con l’issue principale #8 e i blocker #34, #38 e #40, quindi leggi gli ADR 0003, 0013, 0016, 0018 e 0022 insieme ai requisiti persistenti relativi a NativeAOT service, semantic-query, cache e compilazione. Non vengono nominati file o test; il lavoro è considerato completato quando i criteri di accettazione elencati sono definiti e testati, mentre la compilazione pulita rimane il riferimento per la correttezza.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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.

Lingua principale
F#
Stelle
0
Fork
0
Merge medio
3h 15m
PR unite (30g)
1

Preparare l'ambiente

Apri in Codespaces

Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.

  • Nessun Dockerfile né file Docker Compose
  • Ha un modello di pull request
  • Nessuna guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di TheAngryByrd/fsharp2

Tutte le issue di TheAngryByrd/fsharp2

Issue simili

Altre issue su Build System

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.