Files
nexu-io__open-design/.github/config/scopes.json
PerishFire 8ab7c3d5f1 feat(standalone): establish the exact lifecycle and Terminal carrier (#7716)
* feat(standalone): add shell-neutral exact lifecycle

* feat(terminal): add native exact cold-start carrier

* test(terminal): exercise mutable exact channel heads

* feat(standalone): model synced blobs and Shell updates

* feat(terminal): exercise the complete Shell lifecycle

* feat(release): add the independent exact Terminal line

* test(exact): run the full local Terminal release line

* feat(terminal): harden exact Sidecar lifecycle

* feat(standalone): prove exact update transactions

* refactor(standalone): separate shell lifecycle dimensions

* refactor(e2e): decouple terminal exact drivers

* refactor(terminal): isolate exact sidecar fixture host

* feat(terminal): gate handoff on physical retirement

* refactor(release): gate exact activation on public acceptance

* test(terminal): formalize guarded lifecycle algebra

* fix(terminal): guard shell installer handoff

* feat(terminal): add exact bootloader handoff

* feat(terminal): integrate exact sidecar lifecycle

* refactor(exact): rename validation channels

* test(terminal): harden exact release acceptance

* fix(postinstall): build standalone dependencies first

Generated-By: looper 0.11.2 (runner=fixer, agent=codex)

* fix(ci): build the native Terminal scene

Generated-By: looper 0.11.2 (runner=fixer, agent=codex)

* test(ci): cover exact convergence handoff routing

Generated-By: looper 0.11.2 (runner=fixer, agent=codex)

* fix(exact): isolate terminal validation from main CI

* fix(terminal): complete shell update confirmation

Generated-By: looper 0.11.2 (runner=fixer, agent=codex)

* fix(exact): bind acceptance to installed manifest

Generated-By: looper 0.11.2 (runner=fixer, agent=codex)

* fix(standalone): block occupied shell installs

Generated-By: looper 0.11.2 (runner=fixer, agent=codex)

---------

Co-authored-by: Looper <looper@noreply.github.com>
2026-09-03 03:50:34 +00:00

245 lines
11 KiB
JSON

{
"schema": { "version": 1 },
"effects": [
"daemon_tests_required",
"web_tests_required",
"tools_dev_tests_required",
"tools_pack_tests_required",
"windows_tools_pack_payload_tests_required",
"ui_critical_validation_required",
"ui_p0_validation_required",
"visual_validation_required",
"workspace_validation_required"
],
"matches": {
"daemon-runtime-definition": {
"prefixes": ["apps/daemon/src/runtimes/defs/"],
"exact": [
"apps/daemon/src/runtimes/capabilities.ts",
"apps/daemon/src/runtimes/local-profiles.ts",
"apps/daemon/src/runtimes/metadata.ts",
"apps/daemon/src/runtimes/registry.ts",
"apps/daemon/tests/runtimes/agent-args.test.ts",
"apps/daemon/tests/runtimes/antigravity-model-lock.test.ts",
"apps/daemon/tests/runtimes/atomcode.test.ts",
"apps/daemon/tests/runtimes/byok-opencode.test.ts",
"apps/daemon/tests/runtimes/chat-run-inactivity-timeout.test.ts",
"apps/daemon/tests/runtimes/claude-resume-args.test.ts",
"apps/daemon/tests/runtimes/codebuddy.test.ts",
"apps/daemon/tests/runtimes/codex-resume-args.test.ts",
"apps/daemon/tests/runtimes/detection-resilience.test.ts",
"apps/daemon/tests/runtimes/opencode-resume-args.test.ts",
"apps/daemon/tests/runtimes/registry-and-args.test.ts",
"apps/daemon/tests/runtimes/trae-cli.test.ts"
]
},
"certain-exempt": {
"prefixes": [".vscode/", ".idea/", "docs/", ".github/ISSUE_TEMPLATE/"],
"exact": ["LICENSE", ".github/CODEOWNERS"],
"exclude": ["match://daemon-doc"]
},
"daemon-doc": { "exact": ["docs/agent-adapters.md"] },
"dsh-bootstrap-installer": {
"prefixes": ["tools/release/resources/dsh-bootstrap/"]
},
"packaged-leaf": {
"prefixes": [
"apps/desktop/src/", "apps/desktop/tests/", "apps/packaged/src/", "apps/packaged/tests/",
"tools/pack/src/cache/", "tools/pack/src/config/", "tools/pack/src/launcher/",
"tools/pack/src/mac/", "tools/pack/src/resources/", "tools/pack/src/updates/",
"tools/pack/src/versioning/", "tools/pack/src/win/", "tools/pack/tests/", "tools/pack/resources/"
]
},
"windows-launcher-payload": {
"prefixes": [
"tools/pack/src/cache/", "tools/pack/src/config/", "tools/pack/src/launcher/",
"tools/pack/src/resources/", "tools/pack/src/updates/", "tools/pack/src/versioning/",
"tools/pack/src/win/", "tools/pack/tests/launcher/windows/", "tools/pack/resources/win/",
"packages/launcher-proto/src/", "packages/sidecar-proto/src/"
],
"exact": [
"packages/platform/src/command.ts",
"packages/platform/src/index.ts",
"packages/release/src/index.ts",
"packages/sidecar/src/index.ts",
"packages/sidecar/src/paths.ts"
]
},
"daemon-core": {
"prefixes": ["apps/daemon/src/", "apps/daemon/tests/"],
"exact": ["docs/agent-adapters.md"],
"exclude": ["match://daemon-runtime-definition", "prefix://apps/daemon/src/sidecar/"]
},
"terminal-exact": {
"prefixes": ["apps/closure/", "packages/standalone/", "shells/terminal/"],
"exact": [".github/scripts/pack.py", ".github/scripts/release.py", ".github/workflows/convergence-exact.atom.yml", ".github/workflows/release-exact.yml"]
},
"medium-exempt": {
"exact": [
".gitignore", ".editorconfig",
".github/workflows/autofix.atom.yml", ".github/workflows/comment.atom.yml",
".github/workflows/report.atom.yml", ".github/workflows/docker-image.yml"
],
"regexes": ["\\.(?:md|mdx|txt)$"],
"exclude": ["match://certain-surface"]
},
"certain-surface": {
"include": ["match://certain-exempt", "match://packaged-leaf", "match://daemon-core"]
},
"workspace-exempt": {
"include": ["match://certain-exempt", "match://medium-exempt", "match://packaged-leaf", "match://daemon-core", "match://terminal-exact"]
},
"ui-critical-exempt": {
"include": ["match://certain-exempt", "match://medium-exempt", "match://daemon-core", "match://terminal-exact"],
"prefixes": ["apps/desktop/", "apps/packaged/", "tools/pack/"]
}
},
"rules": [
{
"id": "certain-exempt-surface", "match": { "include": ["match://certain-exempt"] },
"effects": [], "confidence": "certain"
},
{
"id": "exempt-surface", "match": { "include": ["match://medium-exempt"] },
"effects": [], "confidence": "medium"
},
{
"id": "certain-daemon-core", "match": { "include": ["match://daemon-core"] },
"effects": ["daemon_tests_required", "ui_critical_validation_required", "ui_p0_validation_required", "workspace_validation_required"],
"confidence": "certain"
},
{
"id": "daemon-sources",
"match": {
"prefixes": ["apps/daemon/", "packages/release/", "packages/contracts/", "packages/platform/", "packages/sidecar/", "packages/sidecar-proto/"],
"exclude": ["match://daemon-core"]
},
"effects": ["daemon_tests_required"], "confidence": "medium"
},
{
"id": "web-sources",
"match": { "prefixes": ["apps/web/", "packages/release/", "packages/components/", "packages/contracts/", "packages/host/", "packages/platform/", "packages/sidecar/", "packages/sidecar-proto/"] },
"effects": ["web_tests_required"], "confidence": "medium"
},
{
"id": "runtime-content",
"match": { "prefixes": ["scripts/", "assets/", "skills/", "prompt-templates/", "design-systems/", "design-templates/", "craft/"] },
"effects": ["daemon_tests_required", "web_tests_required"], "confidence": "medium"
},
{
"id": "dsh-bootstrap-installer",
"match": { "include": ["match://dsh-bootstrap-installer"] },
"effects": ["web_tests_required"], "confidence": "medium"
},
{
"id": "script-contract-tests", "match": { "prefixes": ["e2e/tests/scripts/"] },
"effects": ["daemon_tests_required", "web_tests_required"], "confidence": "medium"
},
{
"id": "tools-dev-sources",
"match": { "prefixes": ["tools/dev/", "packages/platform/", "packages/sidecar/", "packages/sidecar-proto/"] },
"effects": ["tools_dev_tests_required"], "confidence": "medium"
},
{
"id": "certain-packaged-leaf-sources", "match": { "include": ["match://packaged-leaf"] },
"effects": ["tools_dev_tests_required", "tools_pack_tests_required", "workspace_validation_required"],
"confidence": "certain"
},
{
"id": "certain-windows-launcher-payload",
"match": { "include": ["match://windows-launcher-payload"] },
"effects": ["windows_tools_pack_payload_tests_required"],
"confidence": "certain"
},
{
"id": "tools-pack-root-source-fallback",
"match": { "regexes": ["^tools/pack/src/[^/]+\\.ts$"] },
"effects": ["tools_dev_tests_required", "tools_pack_tests_required", "windows_tools_pack_payload_tests_required", "workspace_validation_required"],
"confidence": "medium"
},
{
"id": "tools-pack-sources",
"match": {
"prefixes": ["tools/pack/", "apps/packaged/", "apps/desktop/", "packages/release/", "packages/components/", "packages/host/", "packages/platform/", "packages/sidecar/", "packages/sidecar-proto/"],
"exclude": ["match://packaged-leaf"]
},
"effects": ["tools_pack_tests_required"], "confidence": "medium"
},
{
"id": "terminal-exact-sources",
"match": { "include": ["match://terminal-exact"] },
"effects": [], "confidence": "certain"
},
{
"id": "workspace-manifests-and-ci",
"match": {
"exact": ["package.json", "pnpm-lock.yaml", "pnpm-workspace.yaml", ".github/workflows/ci.yml", "e2e/package.json"],
"regexes": ["^apps/[^/]+/package\\.json$", "^packages/[^/]+/package\\.json$", "^tools/[^/]+/package\\.json$"]
},
"effects": ["daemon_tests_required", "web_tests_required", "tools_dev_tests_required", "tools_pack_tests_required", "windows_tools_pack_payload_tests_required"],
"confidence": "medium"
},
{
"id": "ui-p0-surface",
"match": {
"prefixes": ["apps/web/", "apps/daemon/", "packages/release/", "packages/components/", "packages/contracts/", "packages/host/", "packages/platform/", "packages/sidecar/", "packages/sidecar-proto/", "e2e/ui/", "e2e/lib/", "e2e/resources/", "e2e/scripts/", ".github/actions/setup-playwright/", ".github/actions/setup-workspace/"],
"exact": ["e2e/package.json", "e2e/playwright.config.ts", "package.json", "pnpm-lock.yaml", "pnpm-workspace.yaml", ".github/workflows/ci.yml", ".github/workflows/ui-extended-main.yml"],
"exclude": ["match://daemon-core"]
},
"effects": ["ui_p0_validation_required"], "confidence": "medium"
},
{
"id": "visual-surface",
"match": {
"prefixes": ["apps/web/", "e2e/lib/playwright/", ".github/actions/setup-playwright/", ".github/actions/setup-workspace/"],
"exact": ["e2e/package.json", "e2e/playwright.visual.config.ts", "e2e/scripts/playwright.ts", "e2e/scripts/visual-report.ts", "pnpm-lock.yaml", ".github/scripts/handoff.py", ".github/workflows/ci.yml", ".github/workflows/comment.atom.yml", ".github/workflows/report.atom.yml", ".github/workflows/visual-baseline.yml"],
"regexes": ["^e2e/ui/visual-[^/]+\\.test\\.ts$"]
},
"effects": ["visual_validation_required"], "confidence": "medium"
},
{
"id": "ci-control-plane",
"match": {
"prefixes": [".github/config/"],
"exact": [
".github/scripts/scopes.py", ".github/scripts/convergence.py", ".github/scripts/runners.py",
".github/scripts/handoff.py", ".github/scripts/lib/config.py", ".github/scripts/lib/github.py",
".github/scripts/lib/r2.py", ".github/workflows/convergence.atom.yml"
]
},
"effects": ["web_tests_required", "workspace_validation_required"], "confidence": "medium"
},
{
"id": "ci-rerun-infra-cancel-surface",
"match": { "exact": [".github/workflows/rerun.atom.yml", ".github/scripts/rerun_infra_cancel.py", "e2e/tests/packaged-smoke-workflow.test.ts"] },
"effects": ["web_tests_required", "workspace_validation_required"], "confidence": "medium"
},
{
"id": "workspace-fallback", "match": { "exclude": ["match://workspace-exempt"] },
"effects": ["workspace_validation_required"], "confidence": "medium"
},
{
"id": "ui-critical-fallback", "match": { "exclude": ["match://ui-critical-exempt"] },
"effects": ["ui_critical_validation_required"], "confidence": "medium"
}
],
"matrices": {
"ui_p0": [
{ "name": "entry-settings", "shard": "entry-settings" },
{ "name": "project-workspace", "shard": "project-workspace" },
{ "name": "project-workspace-editor", "shard": "project-workspace-editor" },
{ "name": "project-collab", "shard": "project-collab" },
{ "name": "project-runtime", "shard": "project-runtime" },
{ "name": "workspace-restoration", "shard": "workspace-restoration" }
],
"visual": [
{ "name": "entry-navigation", "files": "ui/visual-entry.test.ts ui/visual-navigation.test.ts" },
{ "name": "settings-workspace", "files": "ui/visual-settings.test.ts ui/visual-workspace.test.ts" }
]
},
"uiP0Shadow": {
"match": "daemon-runtime-definition",
"matrixNames": ["entry-settings", "project-workspace", "project-collab", "project-runtime"]
}
}