Skip to content

Feedback for “Scriptura”: build approved, 15 September 2026 #106

Description

@will-lamerton

@jason1015-coder

The extended review window closed today and the core team has made the call.

Build approved

Recorded on the whitepaper page as a dated decision with rationale, per How a Project Comes to Life. Frontmatter status is now Build approved.

Congratulations. This is well earned.

Why

The whitepaper held up. Twenty-three issues across two review rounds, all closed. The second round was the harder one and the document absorbed it rather than deflecting it: the Rust chokepoint and the egress log moved from present tense to stated design with the gap named out loud (#86), "Not a plugin" became a shape change on the P0 list rather than a description of the tree (#87), the Rust to TypeScript seam became an ACP client against Nanocoder's existing ACP server (#88), the local-first defaults got labelled as written but disconnected (#89), provider ownership on the agent path became invariant 5 with C5 and C6 behind it (#90), and the lexical superset claim was narrowed to reachability (#95).

Worth saying directly: the provider contract section is the most rigorous piece of specification in the whitepapers folder. The decision to write "model-agnostic" as an interface plus invariants plus a runnable conformance suite is what turned a slogan into something a reviewer can grade, and it is the part of this paper other proposers should copy.

Scope is buildable. P0 is nine items and none have started yet, but they are nine well-specified items rather than nine unknowns, and they sit on an editor shell that already carries LSP and DAP clients, git integration, a plugin SDK, and green CI on three platforms.

Fit is not in question. Nothing in either round conflicted with the collective's shape, and the argument for the Qt and Rust stack (a machine already running a local completion model has no headroom for a browser engine) is sound.

On the second maintainer

You flagged twice in the document that one maintainer cannot carry this, and you were right to be honest about it. The call is that one is sufficient to approve on. Blocking a working editor with a serious design behind it on a recruitment problem that the collective is better placed to solve than you are is the wrong trade.

What that means in practice: we monitor velocity rather than gate on hiring, and finding a second maintainer is now a shared commitment rather than only yours. If the pace drops we reopen the conversation, we do not let it drift quietly.

Four things carried into the build

None of these block the approval. All four were closed without a recorded answer and should not get lost:

  1. macOS distribution and notarization (Critical: what will be the way any apple apps (scriptura) distribute? #72). You raised this as critical and it never got an answer. The repo README now documents the unsigned state honestly, which is the right interim move, but the underlying question of whether the collective funds an Apple Developer account is a collective-level call and it is still unmade. Bring it to the discussion below.
  2. The Node runtime packaging consequence (Feedback for “Scriptura”: how does a Qt and C++ binary drive Nanocoder, which is TypeScript on Node? #54). Taking the ACP route means driving nanocoder --acp, which is a Node process. The installer either bundles a Node runtime or requires it on PATH, and the README's "bundles all dependencies" promise depends on which. Worth deciding before the seam is built rather than after.
  3. prompt-scrub is missing from the composition (Feedback for “Scriptura”: what leaves the machine on the remote path, and why is prompt-scrub not in the composition? #91). The document answers the scrubbing question by routing through Private Inference Proxy, but that project's status is Paused. prompt-scrub (published as @nanocollective/prompt-scrub) is the scrubbing path actually available today, and it is not named in the Composition section. Worth a short PR to the whitepaper.
  4. The editorial pass (Feedback for “Scriptura”: editorial pass (Architecture prose, spelling, em dashes, drifted line references) #96). Closed but not done: 39 em dashes against house style, centralized / customization / favorable against British usage elsewhere in the docs, and mainwindow.cpp:888 still cited twice when the line has drifted to 912. Cheap to fix in one pass, and it matters once this document becomes the project README.

Next steps

The repository transfer to Nano-Collective is now unblocked. It is Stage 4 work that follows the decision rather than preceding it, and the Creating a New Project playbook takes over once it lands.

The other thing to settle is dates on the three P0 items the second review round showed to be unmet: the permission chokepoint, moving the AI layer out of src/plugins/, and the streaming completion path. Those were deliberately left out of the decision note because they are yours to propose rather than ours to impose.

Can you DM me to talk through the sequencing? Discord is easiest, or X, or wherever suits you. Worth a real conversation rather than an issue thread for this part.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions