DECISION: public API surface and determinism defaults for 1.0 #83
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Owner decisions required. The remaining questions from the README 1.0
roadmap, minus the ones already resolved by the code.
Two of the original questions are moot and need no answer: question 12
(consolidate scanner/checker) is already done —
internal/scanner/andinternal/checker/no longer exist. Question 14 (module path) is trackedseparately as #79.
11. Should manifests be deterministic by default? Determinism means:
sort entries by path, omit
createdAt, noatime. Sorting is alreadyunconditional (
mfer/builder.go:285-287). A--seedflag exists fordeterministic UUIDs and an
--include-timestampsflag already exists.So the real remaining question is narrow: should
createdAtand timestampsbe off by default with opt-in, or on by default with opt-out?
13. Export the
manifesttype, or define an interface? The type isunexported with exported constructors (
NewManifestFromReader,NewManifestFromFile). Consumers cannot writevar m *mfer.manifest, sothey cannot store a loaded manifest in their own struct fields — which makes
this genuinely unusable as a library for anything non-trivial.
Definition of done
Designsection (#75) soconsumers can see the intended usage shape.
Please answer and reassign to
clawbot.