@@ -123,6 +123,8 @@ Questions 16 to 28 are language or spec rulings. Under the ground rules they are
124## Language and spec rulings
124## Language and spec rulings
126+Montelot's answers to 16 to 28 are proposals. They are listed in [open-questions.md](../open-questions.md) until @iko confirms them; the code changes wait until then.
126**16. Which auras may a term literal fit?** Today `^- @tas %1.000` and `^- @tas %&` are accepted and `^- @ud %1.000` is rejected, the opposite of Hoon. grammar.md:141 supports the code; grammar.md:29 and "Literals: exactly Hoon's" don't. (A20)
128**16. Which auras may a term literal fit?** Today `^- @tas %1.000` and `^- @tas %&` are accepted and `^- @ud %1.000` is rejected, the opposite of Hoon. grammar.md:141 supports the code; grammar.md:29 and "Literals: exactly Hoon's" don't. (A20)
128- a) Follow Hoon: a term literal fits its own aura family, so `%1.000` is `@ud` and `%&` is `?`.
130- a) Follow Hoon: a term literal fits its own aura family, so `%1.000` is `@ud` and `%&` is `?`.
@@ -184,14 +186,14 @@ Questions 16 to 28 are language or spec rulings. Under the ground rules they are
184- a) No, keep both.
186- a) No, keep both.
187−**Answer:** a
189+**Answer:** a *(chosen)*
189**25. When should `eq` and the gate-free type-variable constraint be built?** Both are decided, neither exists, and no doc tracks them. (A98)
191**25. When should `eq` and the gate-free type-variable constraint be built?** Both are decided, neither exists, and no doc tracks them. (A98)
191- a) In milestone 2.
193- a) In milestone 2.
192- b) Later, and list them as outstanding.
194- b) Later, and list them as outstanding.
194−**Answer:** a
196+**Answer:** a *(chosen)*
196**26. Which Hoon unions should the importer learn?** Today `$%` with `%&`, `%|` or `%0` tags, `(each a b)` and `json` all fail, though the spec's import table lists them. (A50)
198**26. Which Hoon unions should the importer learn?** Today `$%` with `%&`, `%|` or `%0` tags, `(each a b)` and `json` all fail, though the spec's import table lists them. (A50)
@@ -199,21 +201,21 @@ Questions 16 to 28 are language or spec rulings. Under the ground rules they are
199- b) Only the tags.
201- b) Only the tags.
200- c) Later.
202- c) Later.
202−**Answer:** a
204+**Answer:** a *(chosen)*
204**27. Should the `%jibb` mark keep dropping the final newline on a `%txt` round trip**, as `%hoon` does? (A61)
206**27. Should the `%jibb` mark keep dropping the final newline on a `%txt` round trip**, as `%hoon` does? (A61)
206- a) Keep it, like `%hoon`.
208- a) Keep it, like `%hoon`.
207- b) Preserve the newline, and change tools/ship's assertion.
209- b) Preserve the newline, and change tools/ship's assertion.
209−**Answer:** a
211+**Answer:** a *(chosen)*
211**28. Should the printer flatten `[a [b c]]` to `[a b c]` and print named molds by name**, such as `theme` and `item.todo`? (A136)
213**28. Should the printer flatten `[a [b c]]` to `[a b c]` and print named molds by name**, such as `theme` and `item.todo`? (A136)
216−**Answer:** a
218+**Answer:** a *(chosen)*
218## Tests and tooling
220## Tests and tooling
@@ -222,7 +224,7 @@ Questions 16 to 28 are language or spec rulings. Under the ground rules they are
225−**Answer:** a
227+**Answer:** a *(chosen)*
227**30. Should there be one `tools/check` command, and CI?** (A92, A96)
229**30. Should there be one `tools/check` command, and CI?** (A92, A96)
@@ -230,77 +232,77 @@ Questions 16 to 28 are language or spec rulings. Under the ground rules they are
230- b) `tools/check` now, CI at milestone 7 as planned.
232- b) `tools/check` now, CI at milestone 7 as planned.
231- c) Neither.
233- c) Neither.
233−**Answer:** b
235+**Answer:** a *(chosen)*
235**31. How should the 28 copies of `my-app` files under `tests/` be handled?** (A108, A109)
237**31. How should the 28 copies of `my-app` files under `tests/` be handled?** (A108, A109)
237- a) Map `my-app` into the `jibb-dev` desk outside `/tests` and read it directly, removing the copies.
239- a) Map `my-app` into the `jibb-dev` desk outside `/tests` and read it directly, removing the copies.
238- b) Keep the copies, and guard them all from one manifest.
240- b) Keep the copies, and guard them all from one manifest.
240−**Answer:** a
242+**Answer:** a *(chosen)*
242**32. Should the generated `tests/lib/jibb.hoon` (3,949 lines) stop being committed?** Assembly drops it and regenerates it anyway. (A83)
244**32. Should the generated `tests/lib/jibb.hoon` (3,949 lines) stop being committed?** Assembly drops it and regenerates it anyway. (A83)
244- a) Yes, and add it to .gitignore.
246- a) Yes, and add it to .gitignore.
247−**Answer:** a
249+**Answer:** a *(chosen)*
249**33. Should the importer's test fixtures (about 550 lines) move out of `jibb-import.hoon`**, which app desks vendor, into `tests/lib/jibb-import.hoon`? (A52)
251**33. Should the importer's test fixtures (about 550 lines) move out of `jibb-import.hoon`**, which app desks vendor, into `tests/lib/jibb-import.hoon`? (A52)
254−**Answer:** a
256+**Answer:** a *(chosen)*
256**34. Should the import-only fixtures move off `my-app`** (`sur/import-fixture.hoon`, `mar/label.hoon`, the Tlon probe) to a fixtures desk? (A113)
258**34. Should the import-only fixtures move off `my-app`** (`sur/import-fixture.hoon`, `mar/label.hoon`, the Tlon probe) to a fixtures desk? (A113)
261−**Answer:** a
263+**Answer:** a *(chosen)*
263**35. Should the five `tools/hoon` checks that exit 0 whatever they print become test arms?** (A91)
265**35. Should the five `tools/hoon` checks that exit 0 whatever they print become test arms?** (A91)
268−**Answer:** a
270+**Answer:** a *(chosen)*
270**36. Should type-checker golden cases keep their full token and tree outputs?** They are 73% of all parser golden lines. (A94)
272**36. Should type-checker golden cases keep their full token and tree outputs?** They are 73% of all parser golden lines. (A94)
272- a) Keep them: each stage's output is compared.
274- a) Keep them: each stage's output is compared.
273- b) Let type cases opt out.
275- b) Let type cases opt out.
275−**Answer:** a
277+**Answer:** a *(chosen)*
277**37. Should the tests keep calling internal library arms (137 of them)?** (A126)
279**37. Should the tests keep calling internal library arms (137 of them)?** (A126)
279- a) Keep them for now, and revisit after the checker core changes.
281- a) Keep them for now, and revisit after the checker core changes.
280- b) Move them behind a small public facade.
282- b) Move them behind a small public facade.
282−**Answer:** a
284+**Answer:** a *(chosen)*
284**38. Should `my-app` keep the failing buttons example and the doc theme's static font?** Milestone 4 will treat both as errors. (A112)
286**38. Should `my-app` keep the failing buttons example and the doc theme's static font?** Milestone 4 will treat both as errors. (A112)
286- a) Keep them through milestone 2, and list it as a milestone-4 open question.
288- a) Keep them through milestone 2, and list it as a milestone-4 open question.
287- b) Move the error example out now.
289- b) Move the error example out now.
289−**Answer:** a
291+**Answer:** a *(chosen)*
291**39. Should every vendored package keep going into every desk?** (A117)
293**39. Should every vendored package keep going into every desk?** (A117)
293- a) Yes, as designed.
295- a) Yes, as designed.
294- b) Make it per desk.
296- b) Make it per desk.
296−**Answer:** a
298+**Answer:** a *(chosen)*
298**40. Should `tools/hoon` get a `--no-debug` mode** for timings, with the docs' figures re-measured? Every eval runs with `!:`, which makes checker work 2.2 to 2.6 times slower. (A137)
300**40. Should `tools/hoon` get a `--no-debug` mode** for timings, with the docs' figures re-measured? Every eval runs with `!:`, which makes checker work 2.2 to 2.6 times slower. (A137)
303−**Answer:** a
305+**Answer:** a *(chosen)*
305## Docs and repository
307## Docs and repository
@@ -309,14 +311,14 @@ Questions 16 to 28 are language or spec rulings. Under the ground rules they are
310- b) Only fix the contradictions.
312- b) Only fix the contradictions.
312−**Answer:** a
314+**Answer:** a *(chosen)*
314**42. Until the Claude design doc is synced, which spec wins?** (A104)
316**42. Until the Claude design doc is synced, which spec wins?** (A104)
316- a) The repository copy, with a "synced" column in decisions.md.
318- a) The repository copy, with a "synced" column in decisions.md.
317- b) The Claude doc, as development.md says now.
319- b) The Claude doc, as development.md says now.
319−**Answer:** a
321+**Answer:** a *(chosen)*
321**43. Who syncs the Claude design doc with the repository's decisions?**
323**43. Who syncs the Claude design doc with the repository's decisions?**
@@ -324,14 +326,14 @@ Questions 16 to 28 are language or spec rulings. Under the ground rules they are
324- b) @iko.
326- b) @iko.
325- c) Leave it for now.
327- c) Leave it for now.
327−**Answer:** b
329+**Answer:** c *(chosen)*
329**44. Should open-questions.md hold only open questions**, with settled ones moved to decisions.md? (A103)
331**44. Should open-questions.md hold only open questions**, with settled ones moved to decisions.md? (A103)
334−**Answer:** a
336+**Answer:** a *(chosen)*
336**45. Which licence should the repository have?** It has none, and doesn't state the licences of `vendor/` or the Tlon fixtures. (A107)
338**45. Which licence should the repository have?** It has none, and doesn't state the licences of `vendor/` or the Tlon fixtures. (A107)
@@ -339,4 +341,4 @@ Questions 16 to 28 are language or spec rulings. Under the ground rules they are
339- b) Another licence.
341- b) Another licence.
340- c) None: keep it private.
342- c) None: keep it private.
342−**Answer:** a
344+**Answer:** a *(chosen)*