Owner decision required. Blocks the README Getting Started block and the fetch usability work.
The contradiction
README: the manifest "would have a standard filename", index.mf, so that https://example.com/dir/ implies https://example.com/dir/index.mf.
mfer gen writes ./.index.mf by default (internal/cli/mfer.go, the --output flag).
mfer fetch <url> requests <url>/index.mf (resolveManifestURL) and never tries .index.mf.
mfer check and mfer freshen look for both names.
So the two commands the README pairs together do not agree: a user who runs mfer gen and publishes the directory gets a manifest that mfer fetch cannot find.
The dotfile default is not an accident: gen excludes hidden files, so naming the output .index.mf keeps the manifest out of its own file list. With index.mf the scanner would need to skip the output path explicitly (today, gen --force over an existing index.mf would include the old manifest as an entry).
Options
A. Default to index.mf and have the scanner exclude the output path (recommended). Matches the README, the URL convention, and fetch. Requires a small scanner change: the output file's path is excluded from enumeration, tested with --force over an existing manifest.
B. Keep .index.mf and make fetch try .index.mf after index.mf. No scanner change, but the README's "standard filename" becomes two filenames, and a hidden default is surprising for something meant to be published.
C. Keep both as they are and document it. Cheapest; leaves the tool's two halves disagreeing.
Definition of done, once answered
gen, fetch, check, and freshen agree on the default name, and the README states it once.
If A: the scanner never includes the output manifest in its own listing, covered by a test using --force over an existing manifest.
make check passes; TODO.md updated in the same commit.
Please answer inline and reassign to clawbot.
Model: fable-5-1
Owner decision required. Blocks the README Getting Started block and the `fetch` usability work.
## The contradiction
- README: the manifest "would have a standard filename", `index.mf`, so that `https://example.com/dir/` implies `https://example.com/dir/index.mf`.
- `mfer gen` writes `./.index.mf` by default (`internal/cli/mfer.go`, the `--output` flag).
- `mfer fetch <url>` requests `<url>/index.mf` (`resolveManifestURL`) and never tries `.index.mf`.
- `mfer check` and `mfer freshen` look for both names.
So the two commands the README pairs together do not agree: a user who runs `mfer gen` and publishes the directory gets a manifest that `mfer fetch` cannot find.
The dotfile default is not an accident: `gen` excludes hidden files, so naming the output `.index.mf` keeps the manifest out of its own file list. With `index.mf` the scanner would need to skip the output path explicitly (today, `gen --force` over an existing `index.mf` would include the old manifest as an entry).
## Options
**A. Default to `index.mf` and have the scanner exclude the output path (recommended).** Matches the README, the URL convention, and `fetch`. Requires a small scanner change: the output file's path is excluded from enumeration, tested with `--force` over an existing manifest.
**B. Keep `.index.mf` and make `fetch` try `.index.mf` after `index.mf`.** No scanner change, but the README's "standard filename" becomes two filenames, and a hidden default is surprising for something meant to be published.
**C. Keep both as they are and document it.** Cheapest; leaves the tool's two halves disagreeing.
## Definition of done, once answered
- `gen`, `fetch`, `check`, and `freshen` agree on the default name, and the README states it once.
- If A: the scanner never includes the output manifest in its own listing, covered by a test using `--force` over an existing manifest.
- `make check` passes; `TODO.md` updated in the same commit.
Please answer inline and reassign to `clawbot`.
Model: fable-5-1
sneak
was assigned by clawbot2026-09-21 09:21:31 +02:00
clawbot
self-assigned this 2026-09-22 00:31:22 +02:00
clawbot
changed title from DECISION: default manifest filename (gen writes .index.mf, fetch looks for index.mf) to Default manifest filename is index.mf; the scanner excludes the output file (sneak: option A)2026-09-22 00:31:22 +02:00
sneak
was unassigned by clawbot2026-09-22 00:31:28 +02:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Owner decision required. Blocks the README Getting Started block and the
fetchusability work.The contradiction
index.mf, so thathttps://example.com/dir/implieshttps://example.com/dir/index.mf.mfer genwrites./.index.mfby default (internal/cli/mfer.go, the--outputflag).mfer fetch <url>requests<url>/index.mf(resolveManifestURL) and never tries.index.mf.mfer checkandmfer freshenlook for both names.So the two commands the README pairs together do not agree: a user who runs
mfer genand publishes the directory gets a manifest thatmfer fetchcannot find.The dotfile default is not an accident:
genexcludes hidden files, so naming the output.index.mfkeeps the manifest out of its own file list. Withindex.mfthe scanner would need to skip the output path explicitly (today,gen --forceover an existingindex.mfwould include the old manifest as an entry).Options
A. Default to
index.mfand have the scanner exclude the output path (recommended). Matches the README, the URL convention, andfetch. Requires a small scanner change: the output file's path is excluded from enumeration, tested with--forceover an existing manifest.B. Keep
.index.mfand makefetchtry.index.mfafterindex.mf. No scanner change, but the README's "standard filename" becomes two filenames, and a hidden default is surprising for something meant to be published.C. Keep both as they are and document it. Cheapest; leaves the tool's two halves disagreeing.
Definition of done, once answered
gen,fetch,check, andfreshenagree on the default name, and the README states it once.--forceover an existing manifest.make checkpasses;TODO.mdupdated in the same commit.Please answer inline and reassign to
clawbot.Model: fable-5-1
Option a
DECISION: default manifest filename (gen writes .index.mf, fetch looks for index.mf)to Default manifest filename is index.mf; the scanner excludes the output file (sneak: option A)