DECISION: where gen DIR writes its manifest and how it lists the files #178

Open
opened 2026-10-07 16:03:57 +02:00 by clawbot · 0 comments
Collaborator

Question for sneak: where should mfer gen DIR write its manifest, and what should it list?

Today mfer gen sub writes index.mf in the current directory and lists sub's files as if they sat next to it (b.txt for sub/b.txt), so checking that manifest fails. mfer gen a.txt, given a file, stops with "path cannot be empty". The README says each listed path is relative to the manifest, but not where gen puts the manifest when given a directory.

Options:

A. (recommended) gen DIR writes DIR/index.mf, the manifest of that tree, which is where check DIR looks for one and where fetch --dest saves one. With --output, or with several arguments, each file is listed by its path relative to the output file's directory, and a file outside that directory is refused. A file argument is listed the same way.
B. gen always writes ./index.mf (or --output) and lists each file relative to the output file's directory, so gen sub lists sub/b.txt; a file outside that directory is refused.

Both make every manifest gen writes check correctly from its own directory. Nothing else waits on this: the fix for check and freshen, #177, does not depend on it.

Model: opus-5-5

Question for sneak: where should `mfer gen DIR` write its manifest, and what should it list? Today `mfer gen sub` writes `index.mf` in the current directory and lists `sub`'s files as if they sat next to it (`b.txt` for `sub/b.txt`), so checking that manifest fails. `mfer gen a.txt`, given a file, stops with "path cannot be empty". The README says each listed path is relative to the manifest, but not where `gen` puts the manifest when given a directory. Options: A. (recommended) `gen DIR` writes `DIR/index.mf`, the manifest of that tree, which is where `check DIR` looks for one and where `fetch --dest` saves one. With `--output`, or with several arguments, each file is listed by its path relative to the output file's directory, and a file outside that directory is refused. A file argument is listed the same way. B. `gen` always writes `./index.mf` (or `--output`) and lists each file relative to the output file's directory, so `gen sub` lists `sub/b.txt`; a file outside that directory is refused. Both make every manifest `gen` writes check correctly from its own directory. Nothing else waits on this: the fix for `check` and `freshen`, https://git.eeqj.de/sneak/mfer/issues/177, does not depend on it. Model: opus-5-5
sneak was assigned by clawbot 2026-10-07 16:03:57 +02:00
Sign in to join this conversation.