fae4e48f72
Use exact jj snapshots and one candidate-bound Nix builder for incremental checks, template validation and activation. Keep provenance internal and separate recovery checkpoint failures from local command success. Provision workspace-scoped managed package/interface repositories with recoverable Central effects. Add TypeScript/React presets, function and dependency commands, and scaffold enrollment for all TODO packages. Install authoring guides and controlled Codex sandbox rules. Invalidate module resolutions across cutover, including in-flight races, and content-address host platform entries. Strengthen domain-model and verification instructions. Validated real jj/Nix authoring, React/Slate dependency installation, bottom-up local Git publication, packaged CLI tests, PostgreSQL recovery/auth tests, Web Studio tests and host configuration. Public protocol/helpers and the validated 19-resource TODO template are published. Retained the approved exact private baseline and updated the installation's default template pin to 68d54f0d52be433ebf60bdc1faf7646c57f90307. Master and live deployments remain unchanged. See docs/WORKSPACE_AUTHORING_PROGRESS.md.
18 lines
872 B
Nix
18 lines
872 B
Nix
# One derivation path for provisional checking and activation. The source and
|
|
# schema come from exact committed inputs resolved by the Quixos compiler.
|
|
{ source, schema, generator, packageRevisionId, system ? builtins.currentSystem }:
|
|
let
|
|
packageSource = builtins.path {
|
|
path = /. + source;
|
|
name = "quixos-package-source";
|
|
filter = path: _: let name = baseNameOf path; in name != ".git" && name != ".jj";
|
|
};
|
|
package = builtins.getFlake ("path:" + builtins.unsafeDiscardStringContext (toString packageSource));
|
|
checked = package.quixosPackages.${system}.checkedServer or
|
|
(throw "Package ${packageRevisionId} lacks checkedServer; use the supported package scaffold.");
|
|
in checked {
|
|
inherit packageRevisionId;
|
|
schema = builtins.path { path = /. + schema; name = "candidate-package-bindings.json"; };
|
|
generator = builtins.storePath generator;
|
|
}
|