‹ More

Commits

Every change to Nerve, newest first: what each commit says, who wrote it and when. The code itself isn’t shown. 1691 commits.

Loading the rest of the history…

  1. featurewebsite.sitethe Commits page shows every commit, those about secrets/ too (owner)
    d29ba68dwebsite claude
    Message

    The owner looked at what's in secrets/ (idea notes, and a file of unreadable data) and said "include": the 23 commits that were left out are in. Deployed with the page.

  2. featurewebsite.sitea Commits page, the repo's history without the code (owner)
    fa093f50website claude
    Message

    The owner: "a commits thingy at the topbar. When you click it, it shows a mirror of commits (minus the code part in the commit)". The build writes every commit's message, author, co-authors and date to /commits.json (scripts/commits.mjs), never its changes; /commits shows them newest first, with a search over the messages and ids, a filter by who wrote them, and each full message folded under its subject. "Commits" sits in the top bar beside More, in More on a phone, and in search. Commits that touch secrets/ or are house.secrets… are left out. Not deployed yet.

  3. fixoracle.decian unbounded whole number into a deci asks for otherwise; fields and map reads bound by their types (compiler claude)
    fd5cb3f7design claude
  4. featuresynapse.decia whole number into a deci needs otherwise only when its operands let it pass the deci's digits
    2f8af0b0compiler claude
    Message

    Owner, 2026-10-12: "(a)". A `:=` whole number keeps the range its operands allow (literals, typed values, plus, minus, times, div, mod, negation, a local's first range), and `to.deci…` asks for `otherwise` only when that range could hold more digits than the deci; one nothing bounds still asks. corner_shop checks now. Cortex skips examples on cord stand-ins: a loop over a stand-in's list was followed its 100 000 trips at every call, seven minutes for corner_shop.

  5. featureoracle.decia whole number into a deci needs otherwise only when its operands let it pass the deci's digits (owner: a)
    5b809249design claude
  6. fixsynapse.genericsa type written inside a generic body names the function's blanks
    37eab02dcompiler claude
    Message

    `let 'sum': <T> = 0;` (examples/corner_shop.nrv) was refused as "a blank `<T>` cannot appear here": a body's own types were resolved without the function's blanks. Locals, counters, local consts, channels and `to.` targets now resolve with them, filled with the instance's types. corner_shop waits on cord (`print.format`, `format`, `str.`) and on a question about `to.deci64` of a `:=` result (tests/examples_pending.txt).

  7. featurewebsite.sitecorner_shop, the 500-line example, on the site; an enum's case colours as a case (owner)
    9b17fb9awebsite claude
    Message

    The owner asked for a 500+ line example and to deploy it once it was in; design claude added examples/corner_shop.nrv (and deci_field_context.nrv) in eaec0ff6, and the site picks both up. Highlighting: `Aisle.fresh`, an enum's case through its type, now colours as a case rather than a field (a call such as `Ticket.next[…]` stays a function). 168 examples, no unscoped spans.

  8. featureexamples.shopcorner_shop, a 500-line example; a struct field's type is its value's context (owner)
    eaec0ff6design claude
  9. fixwebsite.sitecopy sits beside the tabs, and an example opens highlighted at once (owner)
    d3aa739dwebsite claude
    Message

    The owner: "Make it not cover any words. Also, there shouldn't be a delay for syn-highlight & copy button load when example opened." - The Copy button moves out of the code, to the right of the Code / Output tabs. - The build writes every example's highlighted code and output to /examples-full.json (about 80 KB compressed), which the Examples grid fetches in the background; a click finds the example ready, so the highlighting and the copy button are there the moment it opens. If it hasn't arrived, the plain source shows until it does. The pages themselves stay as light as before (putting it in the grid's data would have put all of it in every example page).

  10. featurewebsite.sitea copy button on every example's code and output (owner)
    2f24e9edwebsite claude
    Message

    The owner: "Add easy copy for examples, and deploy". An example's Code and Output each have a Copy button at the top right; it copies the plain source (or the printed output) and says "Copied" for a moment, falling back to the old copy command where the clipboard API isn't allowed. The example's data now carries its plain source.

  11. fixwebsite.sitethe Good practice page in today's syntax, and no count to go stale (owner)
    d1f16327website claude
    Message

    The owner: "Good practice has outdated syntax", then "yea" to deploying the fix. Design claude brought design/style.md up to date (148f2622: let, cord, immut, no_shadow, at_most, pos, equal_to, no_cheat, print.stored); the page is rebuilt from it. The page's description and its search entry said "twelve practices"; they no longer give a number.

  12. designstyle.publicpractice 7, a public Neuron states its limits in its signatures (owner: b)
    eb5b370fdesign claude
  13. designstyle.spellingthe good-practice page in today's spellings: let, cord, immut, no_shadow, at_most, no_cheat, print.stored (owner)
    148f2622design claude
  14. featurewebsite.sitewhy it's called Nerve, and the 2026-10-12 syntax (owner)
    55458b0fwebsite claude
    Message

    The owner: "Those, and deploy". - Home quotes the owner on the name, word for word: "Nerve is named Nerve, because its syntax is meant to be easily read by the readers, and Cortex is wired into you, you can't remove it. Or else, Nerve isn't Nerve anymore." - Instant answers in the new spellings: loops as a sentence (`for 'i' from 1 to 10 by 1`, `before`), labelled slices and bounds (`from pos 2, to pos 4`, `int32[min 0, max 100]`), tests needing no lobe; and new answers for `incl`, C through the CNC lobe (`incl.C`, `C.int`), `const` in any body, `case.any` / `case.exact`, and `synapse` / `syn` / `sng` / `suc`. An answer may now have no code to quote. - Highlighting: loop and slice words and bound labels as labels, `incl.*`, `C.int` and friends, C enums by their lowercase names, `size.of[T]`, lowercase C structs built by field, `case.any` / `case.exact` (the old marks deprecated). 166 examples, no unscoped spans.

  15. testsynapse.boundsthe oracle's bin_bound_printed is refused in Synapse's words
    454920b9compiler claude
  16. fixoracle.boundsa bin bound prints with its point, as it is written (compiler claude)
    033d4986design claude
  17. fixsynapse.boundsmessages print bounded types labelled, as they are written now
    3860d347compiler claude
    Message

    A number's bound prints the sides written (`int8[min 1]`, `uint8[min 0, max 100]`), kept in a `Said` that never takes part in what the type is; a length's 0 and no limit are left out (`list[int32][max 3]`), and text with both sides open says `[min 0 graphemes]`, as the oracle prints them (a60029ae).

  18. decisionname.nerveNerve is named for syntax easily read and a Cortex that cannot be removed (owner)
    a576af35design claude
  19. fixoracle.boundsmessages print bounded types labelled, as they are written now (compiler claude)
    a60029aedesign claude
  20. featuresynapse.boundsbounded types label min and max; a side left out is the type's own limit
    596b01facompiler claude
    Message

    Owner, 2026-10-12: "a". `int32[min 0, max 100]`, `int32[min 1]`, `list[T][max 10]`, `str.utf8[min 1, max 40 graphemes]`, `channel[T][max 10]`; a side left out is the type's limit (a length's low side 0, its high side unlimited). The old `[lo, hi]`, `min`/`max` as a value, a backwards bound and a bounded channel with no max are refused in the oracle's words; whether a type takes a bound is asked before how it is written. Synapse's tests and bench programs are rewritten.

  21. featuresynapse.countfor 'i' from 1 to 10 by 1 with before, and slices labelled from, to and before
    7082751ecompiler claude
    Message

    Owner, 2026-10-12. A counting loop reads as a sentence; `before` leaves the end out, up or down: an empty range runs no rounds, any other runs to one step before the end, so the end need not fit the counter's type. While a bound is read, `to`, `before` and `by` end it. Commas, a missing step and `in range[…]` are refused naming the new form. Slices take `from pos`, `to pos` or `before pos` (`before pos 5` is to pos 4); the old forms are refused. Synapse's own tests are rewritten.

  22. featurecheck.genbounded types label their bounds, min and max, a side left out (owner, 2026-10-12; 5a9aa1f2)
    8e9c7dbbcheck claude
    Message

    int32[min 0, max 100], int32[min 1], int32[max 100]; the deci range type too; 13 corpus programs rewritten. The oracle takes them all and 150 generated programs; evaltest 114/0. Differential runs wait for Synapse.

  23. featureoracle.boundsbounded types label min and max; a side left out is the type's own limit (owner: a)
    5a9aa1f2design claude
  24. featurecheck.gencounting loops are for 'i' from A to B by C, and slices label their positions (owner, 2026-10-12; 7a4faf32)
    7ba73962check claude
    Message

    The renderer, the printer's two loops and the str.slice line; 24 corpus programs rewritten. The oracle takes all of them and 150 generated programs; evaltest 114/0. Synapse does not read the new forms yet, so differential runs wait for it.

  25. featureoracle.countfor 'i' from 1 to 10 by 1 with before, and slices labelled from, to and before (owner)
    7a4faf32design claude
  26. decisionsyntax.boundsbounded types label min and max (owner: yeah)
    b9245546design claude
  27. decisionsyntax.sliceslices take from, to and before as labels (owner: yeah)
    d5d47999design claude
  28. decisionsyntax.rangefor 'i' from 1 to 10 by 1, with before for an end left out (owner)
    8a095b9fdesign claude
  29. decisionsyntax.convertthe ( ) style is dropped; to. stays (owner)
    9cbf2166design claude
  30. decisionsyntax.typestypes keep their spelling, str.utf8, not utf8 string (owner: a)
    b6f8ec4cdesign claude
  31. decisionsyntax.convertconvert['x'](from int32, to int16) replaces to.; ( ) holds a call's details (owner)
    aca2eec6design claude
  32. featuresynapse.lobesIEG and TAS are the Brainstem's, Broca holds WSTN, UniTect and CAPS; CNC adds suc
    082072e2compiler claude
    Message

    Owner, 2026-10-12, lobes by expertise. The official lobes are MCPS, AutoGPU, Metal, Nvidia, Vulkan, AI, WSMW, Money, CNC and Broca; listing IEG or TAS is refused as retired, WSTN, UniTect or CAPS naming Broca instead. no_check, NO_FUCKING_CHECKS, on.machine, test fn and must need no lobe; the Brainstem grants vouch and the operator powers to every Neuron, which still lists them; every Neuron marks its unprovable sites, and a site's power is asked about before its mark, as the oracle asks. MCPS no longer needs IEG. The lobe crates follow (broca and cnc added), and `suc` is the command too.

  33. featureoracle.lobesIEG and TAS are the Brainstem's, Broca holds WSTN, UniTect and CAPS; the old lobes are refused, naming what to do (owner)
    b3d98085design claude
  34. featuresynapse.inclca C enum's later name for a number already named comes through as a const
    8329a81dcompiler claude
    Message

    Owner, 2026-10-12: "a". The first name for a number is the case; a later one is a const holding it, unless a const of that name is already there, so a header aliasing an enum's numbers is no longer refused.

  35. fixsynapse.inclca pointer is ptr when const stands next to its target, so execv's char *const * comes through
    91016c5ecompiler claude
    Message

    `T *const *` is `ptr[ptr.mut[T]]`, as the oracle now reads it (cd190827); a `const` after the last `*` still leaves its declaration out. execv, execve, execvp, execvP and getsubopt come through; every header compared matches the oracle's declarations.

  36. featureoracle.inclca C enum's later name for a number already named comes through as a const (owner: a)
    85face9adesign claude
  37. fixoracle.inclca struct whose layout an attribute changes, on it or a field, comes through opaque (compiler claude)
    af4a6b72design claude
  38. fixoracle.inclcan unnamed struct takes its typedef's name; const in a pointer to pointers is the innermost target's (compiler claude)
    cd190827design claude
  39. fixsynapse.inclca C struct packed or aligned its own way is opaque, not laid out C's default way
    23eef55bcompiler claude
    Message

    `struct log2phys` sits under `#pragma pack(4)`: written as a `layout.C struct` it had padding C does not, so its last field was read 4 bytes off. A packed or aligned struct, or one with such a field, is now only pointed at, as the oracle has it.

  40. featuresynapse.cncthe C. types, C enums and function pointers come through; headers speak C.size_t
    3b50a7f4compiler claude
    Message

    The eighteen `C.` types are the target's (Apple's ABI on aarch64-macos, AAPCS64 on aarch64-none) and CNC's. A header is read as C writes it, its type names followed until `size_t` and its kind or `int8_t`…`uint64_t`, which come through by name. Named C enums are `layout.C enum`s, an unnamed one's names consts (a `#define` of the name winning); function pointers are `fn[…]` callbacks; unions are opaque; a C type and a C function may share a name (`struct stat`, `stat`). stdio.h gives 81 functions and math.h 178, as the oracle counts.