merge: integrate main @ 28f878b; adopt the isolation seam

The isolation lane (#206) landed with an adoption ratchet, and it
caught this branch's brand-new suite on the first run after the merge:

  these suites construct an editor through the ambient entry points,
  so they read the developer's real init.lua and write into their real
  data root: ["discovery_acceptance.rs (1 site(s))"]

That is the ratchet working as designed against code written by someone
who was not looking at the isolation lane while writing it — which is
the case it exists for.

`discovery_acceptance` is therefore MIGRATED, not allowlisted: it
includes `common/iso.rs` and constructs through
`EditorState::new_with_roots(&iso::roots())`. Allowlisting would have
put a fresh ambient site into the census the same day the census was
built.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Lv428Fth9LRtffwJSsqH7T
This commit is contained in:
Levi Neuwirth 2026-07-31 20:15:32 -04:00
parent 4d4bb22035
commit f11af434cd
1 changed files with 12 additions and 1 deletions

View File

@ -19,6 +19,9 @@ use crossterm::event::{KeyCode, KeyEvent, KeyEventKind, KeyEventState, KeyModifi
use pmacs::editor::EditorState;
use pmacs::protocol::FrontendId;
#[path = "common/iso.rs"]
mod iso;
fn exec(s: &EditorState, src: &str) {
s.lua_host.lua().load(src.to_owned()).exec().unwrap();
}
@ -110,8 +113,16 @@ fn run_from_palette(s: &mut EditorState, command: &str, second: Option<&str>) {
}
}
/// Constructed with **isolated bootstrap roots**, never ambiently.
///
/// An integration test is compiled without `cfg(test)`, so a raw
/// `EditorState::new()` reads the developer's real `init.lua` and writes
/// bundled packages into their real data root. The adoption ratchet in
/// `ambient_isolation_acceptance` caught this suite the moment the
/// isolation lane merged — which is the ratchet doing its job against
/// brand-new code, so this file is migrated rather than allowlisted.
fn editor() -> EditorState {
EditorState::new()
EditorState::new_with_roots(&iso::roots())
}
/// The eleven canonical commands and the argument each needs, if any.