78 lines
2.1 KiB
Markdown
78 lines
2.1 KiB
Markdown
# Incremental Build, Cache, and Watch Model Agenda
|
|
|
|
## Status
|
|
|
|
Open
|
|
|
|
## Purpose
|
|
|
|
Define how packer caches, fingerprints, and optional watch behavior should work without compromising determinism.
|
|
|
|
## Context
|
|
|
|
The draft proposes:
|
|
|
|
- fingerprint tracking in `assets/.prometeu/cache/fingerprints.json`,
|
|
- incremental rebuilds,
|
|
- strong hashing,
|
|
- optional watch mode.
|
|
|
|
This area is operationally important but easy to underspecify.
|
|
|
|
## Source Sections
|
|
|
|
- `11. Incremental Build, Cache, and Fingerprints`
|
|
- `13.10 prometeu packer watch`
|
|
|
|
## Key Questions
|
|
|
|
1. Which fingerprints are authoritative for cache invalidation?
|
|
2. When are `mtime` and size only hints versus hard cache keys?
|
|
3. What outputs may be reused from cache, and under which conditions?
|
|
4. Does watch mode belong in v1 spec or only as non-normative future work?
|
|
5. How should cache invalidation be surfaced to users and diagnostics?
|
|
6. How do we guarantee that incremental behavior never changes final outputs?
|
|
|
|
## Options
|
|
|
|
### Option A
|
|
|
|
Specify cache behavior conservatively and keep watch mode optional or non-normative in the first wave.
|
|
|
|
### Option B
|
|
|
|
Make watch mode and aggressive incremental behavior part of the early normative contract.
|
|
|
|
## Tradeoffs
|
|
|
|
- Option A reduces spec risk and keeps determinism easier to enforce.
|
|
- Option A allows cache internals to evolve while the artifact contract stabilizes first.
|
|
- Option B may be attractive for UX, but it increases the amount of behavior that must be frozen too early.
|
|
|
|
## Recommendation
|
|
|
|
Adopt Option A:
|
|
|
|
- deterministic outputs first,
|
|
- conservative cache spec,
|
|
- watch mode optional until the underlying invariants are stable.
|
|
|
|
## Expected Decisions to Produce
|
|
|
|
1. Cache authority and invalidation model.
|
|
2. Fingerprint contract.
|
|
3. Normative versus non-normative status of watch mode.
|
|
4. Safety rules for incremental reuse.
|
|
|
|
## Expected Spec Follow-up
|
|
|
|
- Cache and fingerprints spec.
|
|
- Incremental build guarantees spec.
|
|
- Optional watch mode spec or deferred note.
|
|
|
|
## Non-Goals
|
|
|
|
- Full CLI command catalog.
|
|
- Asset registry identity rules.
|
|
- Cartridge builder integration.
|