Introduce repository-backed capability workspaces

- define and validate the capability and resource-lock languages
- provision workspace source repositories through Central Gitea
- build package runtimes from pinned standalone sources
- replace legacy schema compilation with workspace persistence plans
- add stable optimistic registers and Automerge CRDT documents
- modernize TypeScript/Nix package builds and runtime activation readiness
This commit is contained in:
2026-09-03 15:46:52 -07:00
parent 3c2e4a7e85
commit f4987093f6
57 changed files with 14878 additions and 2788 deletions
+38
View File
@@ -0,0 +1,38 @@
export type GitSource = {
resolver: "git";
repository: string;
commit: string;
};
export type LockedResourceKind = "interface" | "package";
export type LockedResource = {
kind: LockedResourceKind;
binding: string;
source: GitSource;
};
export type QuixosRepositoryLock = {
formatVersion: 1;
quixos: GitSource;
resources: LockedResource[];
};
export type NixGitInput = {
type: "git";
url: string;
ref: string;
rev: string;
};
export const RETENTION_TAG_PREFIX = "refs/tags/quixos-reachability/";
export const retentionTagForCommit = (commit: string): string =>
`${RETENTION_TAG_PREFIX}${commit.toLowerCase()}`;
export const nixGitInput = (source: GitSource): NixGitInput => ({
type: "git",
url: source.repository,
ref: retentionTagForCommit(source.commit),
rev: source.commit.toLowerCase(),
});