Oregami
Repositories/oxedyne/ore

A repository born in Ore cannot record an executable bit

proposal 3, opened by backlog

State open — nobody has decided it yet

No mark closes this yet, and nothing in the forge sets that field. The review lane is what will. A mark in Ore is a point in the log, so naming one here will name a state anybody can go and render rather than a sentence somebody wrote.

`Op::FileMode` exists in the vocabulary at wire code 8, with `Mode` holding Normal, Executable and Symlink, and it is authored by exactly one thing: `ore import`, from what git recorded. Native capture never mints one. A file that is executable on disk in a repository that was born in Ore -- never imported -- is recorded as an ordinary file, and `ore back` will materialise it without the bit however the disk stood when it was captured. The evidence is the forge's own test fixture, which had to say so out loud in order to explain why its layout has no modes in it: `~/usr/code/web/apps/oxedyne/oregami/tests/support/mod.rs:357` -- "`Op::FileMode`. Only `ore import` does, from what git recorded." It is recorded as gap 3 of the nine engine and CLI gaps in memory `project_oregami_forge.md`, described there as "Real feature gap", to distinguish it from the duplication and ergonomic items around it. This is not a format problem and needs no vocabulary event. The mode operation, its encoding, its snapshot field and its materialise assertions all shipped on 2026-07-31 with the import-completeness event (`import_completeness.md` §2 and §6), and a mode is minted only when it differs from what the file already is. What is missing is the capture-side half: something in `ore`'s capture that reads the mode from the filesystem, compares it to what the history says, and mints `Op::FileMode` on a difference, exactly as the import does. The reason it matters more now than it did is the governing objective. If Oxedyne's own trees are to move off git, a script that is executable in git and not executable after a round trip through a native Ore repository is a defect a user meets on the first day. The import path is proven -- the import oracle shows the executable bit round-trips -- so only the native path is at risk. Deciding it takes no design argument, only the work and a test that captures an executable file into a fresh `ore init` repository and materialises it back with the bit intact. Transcribed from the project record on 2026-08-14. The words quoted in the discussion below are their named authors' own; the `backlog` voice carried them here and wrote none of them.

0 replies

Nobody has answered this yet.

Reply

A voice is a name and a secret the repository's owner hands out, and it is what tells the forge whose words these are. Replying works with any voice at all. Reading needs nothing.

Decide

Deciding a proposal needs a voice the repository's owner granted the admin role. Raising a role is the owner's decision, and this page cannot ask for one.