This recipe changes one project without creating hidden manifests or merging workspace roots. Commands and source are illustrative end-product syntax.
Declare a workspace
one 1
semantic acme.workspace
domain one.project@1
workspace Acme@1
project ./parcelhub
project ./support-triageEach project retains its own one.one, lock, roots, plans, artifacts,
authority, and History.
Propose a package change
one package add acme.commerce@1 --project parcelhub
one inspect source-transaction:sha256:…base source sha256:old…
patch parcelhub/one/contracts.one
lock parcelhub/one.lock sha256:new…
affected roots parcelhub_embedded, parcelhub_orders_deskCommit only against current bases
one check --project parcelhub
one test --project parcelhub
one source apply source-transaction:sha256:…A stale base rejects instead of silently rebasing. Structured editor views use the same source transaction and never persist a second semantic model.
Format without changing unknown bodies
one fmt parcelhub/one/contracts.oneThe envelope and known semantic regions format canonically. Unknown implementation-language bodies remain byte-preserved.
Structured editor views use the same transaction
A form, table, graph, or combined view in an editor proposes a bounded patch set against the exact source revision, reparses every affected input through the single owned parser, reruns the required owner checks, and commits one ordinary undoable source transaction only when every base revision still matches. It never writes a hidden semantic model or silently rebases a stale edit. See editors and language tooling and the lock.
Executable evidence
one-project owns the crash-safe source/lock transaction, and one-lsp owns
the preview/commit language-server transcript tests:
cargo test -p one-project --lib complete_transaction_retains_canonical_owner_evidence
cargo test -p one-lspThe workspace, package, and command forms above remain illustrative end-product syntax.
See project and workspace and source and meaning.