## Summary Fixes the intermittent `integration_b` failure observed under parallel load (once on 2026-08-23 local validation; the same class was last seen in CI on 2026-08-18 and partially addressed by #46). **Root cause.** `generation_lifecycle` tests run in child processes spawned by `run_in_isolated_process`, which strips a fixed key list from the child environment. A sibling `app_server_transport` test (`turn_event_stdout_eof_fails_immediately`) sets `APC_TEST_PET_STUDIO_TURN_TIMEOUT_MS=5000` process-wide in the shared parent via `EnvGuard`. When a lifecycle spawn happened inside that window, the child inherited the 5-second override, the fake app-server turn hit `turn did not complete within 5000 ms`, the edit job landed in `recoverable_error`/`Failed`, and the test then waited 180 s for a `generation_failed` terminal message that never came — surfacing as an unrelated timeout panic far from the real trigger. ## Changes (`crates/petcore/tests/integration_b/generation_lifecycle.rs`, +93 lines, no production code) - Extend `ISOLATED_ENV_KEYS` from 5 to 17 keys: every process-wide override any sibling integration_b test can hold (`APC_TEST_*` timing/count/path hooks and the skill-source strictness gates). - Take `test_support::lock_process_state()` around the isolated-child spawn so no sibling holds an override while the child environment is captured. - Add `isolated_child_environment_strips_every_sibling_process_wide_override`: parses the sibling suite source and fails if any `EnvGuard::set` key is missing from the strip list (drift guard in both directions). - Add `isolated_child_spawn_clears_leaked_studio_turn_timeout_override`: reproduces the exact leak (parent holds the 5 s override, spawns child) and asserts the child does not observe it. - Changelog fragment under `changes/unreleased/`. ## Validation - New tests: both pass; parity test verified to fail against the pre-fix list. - Leak-window stress (EOF test holding the override, concurrent with all lifecycle isolated spawns, 8 threads × 8 rounds): 8/8 pass. - Full `integration_b` × 3: 3/3 pass (42 tests each). `integration_a` 96, `integration_c` 66, `integration_d` 164, petcore lib 301, CLI + types: all pass. - `cargo fmt --check` clean, `clippy --all-targets` zero warnings, `script/validate_pre_push.sh --base origin/main` passed. - No production code changed; runtime behavior is untouched (test-only env gating already existed). ## Development claim / 开发声明 - Domain: `release-control-plane` - Claim: `engineering-speedup` - Base commit: `ee53d683413b2c4ba6a308dc5e7d76293ca0cf6f` - Release preparation: `no` - Focused validation: - `python3 script/tests/test_validation_tooling.py` - `./script/validate_build_scripts_safety.sh --static-only` <!-- apc-engineering-coordination-v1 {"claim_overlap_rejections":1,"merge_tree_conflicts":0,"schema_version":"apc.engineering-coordination.v1","task_created_at":"2026-08-24T01:52:17Z","train_conflict_resolutions":0} --> --------- Co-authored-by: lilei <lilei@xmfunny.com>
1101 lines
35 KiB
JSON
1101 lines
35 KiB
JSON
{
|
|
"schema_version": "apc.development-domains.v1",
|
|
"domains": [
|
|
{
|
|
"id": "agent-connections",
|
|
"owned_paths": [
|
|
"apps/macos/Sources/AgentPetCompanion/Features/Connections/**",
|
|
"apps/macos/Sources/AgentPetCompanion/Resources/Localization/Connections/**",
|
|
"apps/macos/Sources/AgentPetCompanion/Views/AgentConnectionsView.swift",
|
|
"crates/petcore-cli/src/main.rs",
|
|
"crates/petcore/src/adapter_contracts.rs",
|
|
"crates/petcore/src/agent_state.rs",
|
|
"crates/petcore/src/connections/**",
|
|
"crates/petcore/src/event_envelope.rs",
|
|
"crates/petcore/tests/integration_d/**",
|
|
"fixtures/contracts/**",
|
|
"plugins/**",
|
|
"schemas/agent-event-ingest.schema.json",
|
|
"schemas/agent-event.schema.json"
|
|
],
|
|
"dependencies": [
|
|
"app-shell-runtime",
|
|
"shared-contracts"
|
|
],
|
|
"shared_paths": [
|
|
{
|
|
"path": "apps/macos/Sources/AgentPetCompanion/App/AppStore.swift",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "apps/macos/Sources/AgentPetCompanion/App/PetCoreProcessManager.swift",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "apps/macos/Sources/AgentPetCompanion/Resources/Localization/Common/**",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "apps/macos/Sources/AgentPetCompanion/Resources/Localization/Connections/**",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "apps/macos/Sources/AgentPetCompanion/Views/AgentConnectionsView.swift",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "apps/macos/Sources/AgentPetCompanion/Views/BehaviorSettingsView.swift",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "crates/petcore/src/agent_environment.rs",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "crates/petcore/src/agent_session_filters.rs",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "crates/petcore/src/rpc/**",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "crates/petcore-types/src/**",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "apps/macos/Sources/AgentPetCompanionCore/Contracts/**",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "changes/unreleased/**",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "apps/macos/Sources/AgentPetCompanion/App/AgentIconProvider.swift",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "apps/macos/Tests/**",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "crates/petcore/src/diagnostics.rs",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "crates/petcore/src/storage/**",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "crates/petcore/tests/integration_a/**",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "development/domains.json",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "crates/petcore/src/runtime_manifest.rs",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "apps/macos/Sources/AgentPetCompanion/App/RuntimeReleaseManifest.swift",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "docs/architecture/runtime-and-ipc.md",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "docs/integrations/agent-connectors.md",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "AGENTS.md",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "README.md",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "README.zh-CN.md",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "docs/architecture/data-model.md",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "docs/architecture/overview.md",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "script/test_all.sh",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "script/validate_app_bundle.sh",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "script/validate_connectors_runtime.sh",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "script/validate_event_storm.sh",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "script/validate_overlay_non_mouse.sh",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "script/validate_real_agent_connectors.sh",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "script/validate_security_boundaries.sh",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "script/validate_test_isolation.sh",
|
|
"risk": "amber"
|
|
}
|
|
],
|
|
"durable_document": "docs/integrations/agent-connectors.md",
|
|
"focused_tests": [
|
|
[
|
|
"cargo",
|
|
"test",
|
|
"-p",
|
|
"petcore",
|
|
"--test",
|
|
"integration_d",
|
|
"--locked"
|
|
],
|
|
[
|
|
"./script/validate_connectors_runtime.sh"
|
|
]
|
|
],
|
|
"ci_flags": {
|
|
"connectors": true,
|
|
"rust_mode": "petcore",
|
|
"swift_mode": "full"
|
|
},
|
|
"allow_parallel_claims": true,
|
|
"control_plane": false,
|
|
"claims": [
|
|
{
|
|
"id": "codex-adapter",
|
|
"paths": [
|
|
"crates/petcore/src/connections/adapters/codex.rs",
|
|
"plugins/codex/**"
|
|
]
|
|
},
|
|
{
|
|
"id": "claude-adapter",
|
|
"paths": [
|
|
"crates/petcore/src/connections/adapters/claude_code.rs",
|
|
"plugins/claude-code/**"
|
|
]
|
|
},
|
|
{
|
|
"id": "pi-adapter",
|
|
"paths": [
|
|
"crates/petcore/src/connections/adapters/pi.rs",
|
|
"plugins/pi/**"
|
|
]
|
|
},
|
|
{
|
|
"id": "opencode-adapter",
|
|
"paths": [
|
|
"crates/petcore/src/connections/adapters/opencode.rs",
|
|
"plugins/opencode/**"
|
|
]
|
|
},
|
|
{
|
|
"id": "connections-model",
|
|
"paths": [
|
|
"apps/macos/Sources/AgentPetCompanion/Features/Connections/**",
|
|
"apps/macos/Sources/AgentPetCompanion/Resources/Localization/Connections/**",
|
|
"apps/macos/Sources/AgentPetCompanion/Views/AgentConnectionsView.swift"
|
|
]
|
|
},
|
|
{
|
|
"id": "connections-shared",
|
|
"paths": [
|
|
"crates/petcore/src/connections/**"
|
|
]
|
|
},
|
|
{
|
|
"id": "dsh-connector",
|
|
"paths": [
|
|
"crates/petcore/src/connections/adapters/dsh.rs",
|
|
"plugins/dsh/**",
|
|
"crates/petcore/src/adapter_contracts.rs",
|
|
"crates/petcore/src/event_envelope.rs",
|
|
"crates/petcore/src/agent_state.rs",
|
|
"crates/petcore-cli/src/main.rs",
|
|
"crates/petcore/tests/integration_d/**",
|
|
"schemas/agent-event.schema.json",
|
|
"schemas/agent-event-ingest.schema.json",
|
|
"fixtures/contracts/**",
|
|
"crates/petcore/src/connections/capabilities.rs",
|
|
"crates/petcore/src/connections/evidence.rs",
|
|
"crates/petcore/src/connections/manager.rs",
|
|
"plugins/connector-privacy.test.mjs"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "app-shell-runtime",
|
|
"owned_paths": [
|
|
"apps/macos/Sources/AgentPetCompanion/App/AgentIconProvider.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/App/AgentPetCompanionApp.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/App/AppManualInstallation.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/App/AppRuntimeLifecycle.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/App/AppStore.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/App/BrandAssets.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/App/BundledPetInventory.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/App/InitialAppearanceWindowAppearance.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/App/Localization.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/App/LocalizationKeys/**",
|
|
"apps/macos/Sources/AgentPetCompanion/App/PackagedResourceBundle.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/App/PetCoreOperationalState.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/App/PetCoreProcessManager.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/App/ProductConvergence.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/App/RuntimeReleaseManifest.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/App/SequencedTaskSlot.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/Resources/Localization/Common/**",
|
|
"apps/macos/Sources/AgentPetCompanion/Views/ContentView.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/Views/ControlCenterShell.swift",
|
|
"apps/macos/Sources/AgentPetCompanionCore/PetCoreTransport.swift",
|
|
"apps/macos/Tests/AgentPetCompanionCoreTests/BoundedConcurrencyGateTests.swift",
|
|
"apps/macos/Tests/AgentPetCompanionTests/SequencedTaskSlotTests.swift"
|
|
],
|
|
"dependencies": [
|
|
"shared-contracts"
|
|
],
|
|
"shared_paths": [
|
|
{
|
|
"path": "apps/macos/Package.swift",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "apps/macos/Sources/AgentPetCompanion/App/AppStore.swift",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "apps/macos/Tests/AgentPetCompanionTests/AgentConnectionsTests.swift",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "apps/macos/Tests/AgentPetCompanionTests/ControlCenterShellTests.swift",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "changes/unreleased/**",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "docs/architecture/overview.md",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "docs/integrations/agent-connectors.md",
|
|
"risk": "amber"
|
|
}
|
|
],
|
|
"durable_document": "docs/architecture/overview.md",
|
|
"focused_tests": [
|
|
[
|
|
"./script/validate_swift_tests.sh",
|
|
"--scope",
|
|
"all"
|
|
]
|
|
],
|
|
"ci_flags": {
|
|
"bundle": true,
|
|
"swift_mode": "full"
|
|
},
|
|
"allow_parallel_claims": false,
|
|
"control_plane": false,
|
|
"claims": [
|
|
{
|
|
"id": "app-composition",
|
|
"paths": [
|
|
"apps/macos/Sources/AgentPetCompanion/App/AgentIconProvider.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/App/AgentPetCompanionApp.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/App/AppManualInstallation.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/App/AppRuntimeLifecycle.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/App/BrandAssets.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/App/BundledPetInventory.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/App/InitialAppearanceWindowAppearance.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/App/Localization.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/App/LocalizationKeys/**",
|
|
"apps/macos/Sources/AgentPetCompanion/App/PackagedResourceBundle.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/App/PetCoreOperationalState.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/App/PetCoreProcessManager.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/App/ProductConvergence.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/App/RuntimeReleaseManifest.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/Resources/Localization/Common/**",
|
|
"apps/macos/Sources/AgentPetCompanion/Views/ContentView.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/Views/ControlCenterShell.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/App/AppStore.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/App/SequencedTaskSlot.swift",
|
|
"apps/macos/Sources/AgentPetCompanionCore/PetCoreTransport.swift",
|
|
"apps/macos/Tests/AgentPetCompanionTests/SequencedTaskSlotTests.swift",
|
|
"apps/macos/Tests/AgentPetCompanionCoreTests/BoundedConcurrencyGateTests.swift"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "diagnostics-update",
|
|
"owned_paths": [
|
|
"apps/macos/Sources/AgentPetCompanion/App/AppUpdateController.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/App/Diagnostics.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/App/DiagnosticsExportState.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/App/GitHubReleaseUpdateChecker.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/Features/Diagnostics/**",
|
|
"apps/macos/Sources/AgentPetCompanion/Resources/Localization/Diagnostics/**",
|
|
"apps/macos/Sources/AgentPetCompanion/Views/ServiceDiagnosticsView.swift",
|
|
"crates/petcore/src/diagnostics.rs"
|
|
],
|
|
"dependencies": [
|
|
"app-shell-runtime",
|
|
"shared-contracts"
|
|
],
|
|
"shared_paths": [
|
|
{
|
|
"path": "apps/macos/Sources/AgentPetCompanion/App/AppStore.swift",
|
|
"risk": "amber"
|
|
}
|
|
],
|
|
"durable_document": "docs/architecture/runtime-and-ipc.md",
|
|
"focused_tests": [
|
|
[
|
|
"./script/validate_swift_tests.sh",
|
|
"--scope",
|
|
"all"
|
|
]
|
|
],
|
|
"ci_flags": {
|
|
"bundle": true,
|
|
"rust_mode": "petcore",
|
|
"swift_mode": "full"
|
|
},
|
|
"allow_parallel_claims": true,
|
|
"control_plane": false,
|
|
"claims": [
|
|
{
|
|
"id": "diagnostics",
|
|
"paths": [
|
|
"apps/macos/Sources/AgentPetCompanion/App/Diagnostics.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/App/DiagnosticsExportState.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/Features/Diagnostics/**",
|
|
"apps/macos/Sources/AgentPetCompanion/Resources/Localization/Diagnostics/**",
|
|
"apps/macos/Sources/AgentPetCompanion/Views/ServiceDiagnosticsView.swift",
|
|
"crates/petcore/src/diagnostics.rs"
|
|
]
|
|
},
|
|
{
|
|
"id": "updates",
|
|
"paths": [
|
|
"apps/macos/Sources/AgentPetCompanion/App/AppUpdateController.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/App/GitHubReleaseUpdateChecker.swift"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "maker-generation",
|
|
"owned_paths": [
|
|
"apps/macos/Sources/AgentPetCompanion/Features/Maker/**",
|
|
"apps/macos/Sources/AgentPetCompanion/Resources/Localization/Maker/**",
|
|
"apps/macos/Sources/AgentPetCompanion/Views/MakerExperiencePresentation.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/Views/MakerSessionWorkspace.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/Views/PetMakerResultView.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/Views/PetStudioView.swift",
|
|
"crates/petcore/src/app_server.rs",
|
|
"crates/petcore/src/generation/**",
|
|
"crates/petcore/src/portable_skill.rs",
|
|
"crates/petcore/src/reference_images.rs",
|
|
"skills/agent-pet-maker/**",
|
|
"skills/agent-pet-studio/**"
|
|
],
|
|
"dependencies": [
|
|
"pet-library",
|
|
"shared-contracts"
|
|
],
|
|
"shared_paths": [
|
|
{
|
|
"path": "apps/macos/Sources/AgentPetCompanion/App/AppStore.swift",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "crates/petcore/src/rpc/**",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "crates/petcore/tests/integration_b/**",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "crates/petcore-types/src/**",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "crates/petcore/src/storage/generation.rs",
|
|
"risk": "amber"
|
|
}
|
|
],
|
|
"durable_document": "docs/architecture/data-model.md",
|
|
"focused_tests": [
|
|
[
|
|
"cargo",
|
|
"test",
|
|
"-p",
|
|
"petcore",
|
|
"--test",
|
|
"integration_b",
|
|
"--locked"
|
|
],
|
|
[
|
|
"./script/validate_pet_skills.sh"
|
|
]
|
|
],
|
|
"ci_flags": {
|
|
"producer": true,
|
|
"rust_mode": "petcore",
|
|
"swift_mode": "full"
|
|
},
|
|
"allow_parallel_claims": true,
|
|
"control_plane": false,
|
|
"claims": [
|
|
{
|
|
"id": "generation-runtime",
|
|
"paths": [
|
|
"crates/petcore/src/generation/**",
|
|
"crates/petcore/src/app_server.rs",
|
|
"crates/petcore/src/reference_images.rs",
|
|
"crates/petcore/src/portable_skill.rs"
|
|
]
|
|
},
|
|
{
|
|
"id": "maker-ui",
|
|
"paths": [
|
|
"apps/macos/Sources/AgentPetCompanion/Features/Maker/**",
|
|
"apps/macos/Sources/AgentPetCompanion/Resources/Localization/Maker/**",
|
|
"apps/macos/Sources/AgentPetCompanion/Views/MakerExperiencePresentation.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/Views/MakerSessionWorkspace.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/Views/PetMakerResultView.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/Views/PetStudioView.swift"
|
|
]
|
|
},
|
|
{
|
|
"id": "maker-skills",
|
|
"paths": [
|
|
"skills/agent-pet-maker/**",
|
|
"skills/agent-pet-studio/**"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "overlay-sessions",
|
|
"owned_paths": [
|
|
"apps/macos/Sources/AgentPetCompanion/Overlay/**",
|
|
"apps/macos/Sources/AgentPetCompanion/Resources/Localization/Overlay/**",
|
|
"apps/macos/Tests/AgentPetCompanionTests/FrameTimelineTests.swift",
|
|
"apps/macos/Tests/AgentPetCompanionTests/OverlayDisplayWidthTests.swift",
|
|
"apps/macos/Tests/AgentPetCompanionTests/OverlayGeometryTests.swift",
|
|
"apps/macos/Tests/AgentPetCompanionTests/OverlayInteractionTelemetryTests.swift",
|
|
"apps/macos/Tests/AgentPetCompanionTests/OverlayPlacementAuthorityTests.swift"
|
|
],
|
|
"dependencies": [
|
|
"app-shell-runtime",
|
|
"shared-contracts"
|
|
],
|
|
"shared_paths": [
|
|
{
|
|
"path": "apps/macos/Sources/AgentPetCompanion/App/AppStore.swift",
|
|
"risk": "amber"
|
|
}
|
|
],
|
|
"durable_document": "docs/architecture/runtime-and-ipc.md",
|
|
"focused_tests": [
|
|
[
|
|
"./script/validate_swift_tests.sh",
|
|
"--scope",
|
|
"overlay"
|
|
]
|
|
],
|
|
"ci_flags": {
|
|
"bundle": true,
|
|
"swift_mode": "overlay"
|
|
},
|
|
"allow_parallel_claims": true,
|
|
"control_plane": false,
|
|
"claims": [
|
|
{
|
|
"id": "session-bubble",
|
|
"paths": [
|
|
"apps/macos/Sources/AgentPetCompanion/Overlay/OverlayRootView.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/Overlay/OverlayBubbleTypography.swift"
|
|
]
|
|
},
|
|
{
|
|
"id": "overlay-runtime",
|
|
"paths": [
|
|
"apps/macos/Sources/AgentPetCompanion/Overlay/**",
|
|
"apps/macos/Sources/AgentPetCompanion/Resources/Localization/Overlay/**",
|
|
"apps/macos/Tests/AgentPetCompanionTests/FrameTimelineTests.swift",
|
|
"apps/macos/Tests/AgentPetCompanionTests/OverlayDisplayWidthTests.swift",
|
|
"apps/macos/Tests/AgentPetCompanionTests/OverlayGeometryTests.swift",
|
|
"apps/macos/Tests/AgentPetCompanionTests/OverlayInteractionTelemetryTests.swift",
|
|
"apps/macos/Tests/AgentPetCompanionTests/OverlayPlacementAuthorityTests.swift"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "pet-library",
|
|
"owned_paths": [
|
|
"apps/macos/Sources/AgentPetCompanion/Features/PetLibrary/**",
|
|
"apps/macos/Sources/AgentPetCompanion/Resources/Localization/PetLibrary/**",
|
|
"apps/macos/Sources/AgentPetCompanion/Views/PetAssetRecoveryCard.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/Views/PetLibraryAnimationPreview.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/Views/PetLibraryPresentation.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/Views/PetLibraryView.swift",
|
|
"crates/petcore/src/pet_revision.rs"
|
|
],
|
|
"dependencies": [
|
|
"petpack-format",
|
|
"shared-contracts"
|
|
],
|
|
"shared_paths": [
|
|
{
|
|
"path": "apps/macos/Sources/AgentPetCompanion/App/AppStore.swift",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "crates/petcore/src/storage/pets.rs",
|
|
"risk": "amber"
|
|
}
|
|
],
|
|
"durable_document": "docs/architecture/data-model.md",
|
|
"focused_tests": [
|
|
[
|
|
"cargo",
|
|
"test",
|
|
"-p",
|
|
"petcore",
|
|
"--test",
|
|
"integration_c",
|
|
"--locked"
|
|
]
|
|
],
|
|
"ci_flags": {
|
|
"bundle": true,
|
|
"rust_mode": "petcore",
|
|
"swift_mode": "full"
|
|
},
|
|
"allow_parallel_claims": true,
|
|
"control_plane": false,
|
|
"claims": [
|
|
{
|
|
"id": "library",
|
|
"paths": [
|
|
"apps/macos/Sources/AgentPetCompanion/Features/PetLibrary/**",
|
|
"apps/macos/Sources/AgentPetCompanion/Resources/Localization/PetLibrary/**",
|
|
"apps/macos/Sources/AgentPetCompanion/Views/PetAssetRecoveryCard.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/Views/PetLibraryAnimationPreview.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/Views/PetLibraryPresentation.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/Views/PetLibraryView.swift",
|
|
"crates/petcore/src/pet_revision.rs"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "petpack-format",
|
|
"owned_paths": [
|
|
"crates/petcore-cli/tests/petpack_build_metadata.rs",
|
|
"crates/petcore-cli/tests/petpack_export_routing.rs",
|
|
"crates/petcore-cli/tests/petpack_import_routing.rs",
|
|
"crates/petcore/src/petpack.rs",
|
|
"crates/petcore/tests/petpack_export.rs",
|
|
"crates/petcore/tests/petpack_import_atomic.rs",
|
|
"crates/petcore/tests/petpack_resource_limits.rs",
|
|
"crates/petcore/tests/petpack_v3_contract.rs",
|
|
"docs/specifications/AgentPetCompanion_Petpack_Whitepaper_V3.md",
|
|
"schemas/petpack.schema.json"
|
|
],
|
|
"dependencies": [
|
|
"shared-contracts"
|
|
],
|
|
"shared_paths": [
|
|
{
|
|
"path": "crates/petcore-types/src/pet.rs",
|
|
"risk": "amber"
|
|
}
|
|
],
|
|
"durable_document": "docs/specifications/AgentPetCompanion_Petpack_Whitepaper_V3.md",
|
|
"focused_tests": [
|
|
[
|
|
"cargo",
|
|
"test",
|
|
"-p",
|
|
"petcore",
|
|
"--test",
|
|
"integration_c",
|
|
"--locked"
|
|
]
|
|
],
|
|
"ci_flags": {
|
|
"producer": true,
|
|
"rust_mode": "petcore",
|
|
"schemas": true
|
|
},
|
|
"allow_parallel_claims": false,
|
|
"control_plane": false,
|
|
"claims": [
|
|
{
|
|
"id": "petpack-v3",
|
|
"paths": [
|
|
"crates/petcore/src/petpack.rs",
|
|
"crates/petcore-cli/tests/petpack_build_metadata.rs",
|
|
"crates/petcore-cli/tests/petpack_export_routing.rs",
|
|
"crates/petcore-cli/tests/petpack_import_routing.rs",
|
|
"crates/petcore/tests/petpack_export.rs",
|
|
"crates/petcore/tests/petpack_import_atomic.rs",
|
|
"crates/petcore/tests/petpack_resource_limits.rs",
|
|
"crates/petcore/tests/petpack_v3_contract.rs",
|
|
"schemas/petpack.schema.json",
|
|
"docs/specifications/AgentPetCompanion_Petpack_Whitepaper_V3.md"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "release-control-plane",
|
|
"owned_paths": [
|
|
".github/workflows/auto-merge.yml",
|
|
".github/workflows/ci.yml",
|
|
".github/workflows/release.yml",
|
|
"development/**",
|
|
"script/changelog_fragments.py",
|
|
"script/ci_proof_promotion.py",
|
|
"script/configure_main_branch_ruleset.py",
|
|
"script/development_domains.py",
|
|
"script/development_flow.py",
|
|
"script/engineering_metrics.py",
|
|
"script/fixtures/MainWindowColdLaunchProbe.swift",
|
|
"script/interaction-contract-files.txt",
|
|
"script/release_source_proof.py",
|
|
"script/resolve_release_source_proof.py",
|
|
"script/swift_build_artifact.py",
|
|
"script/validate_build_scripts_safety.sh",
|
|
"script/validate_github_release_api.py",
|
|
"script/validate_local_tests.py",
|
|
"script/validate_local_tests.sh",
|
|
"script/validate_main_window_ui.sh",
|
|
"script/validate_overlay_offline.sh",
|
|
"script/validate_portable_pet_maker.sh",
|
|
"script/validate_rust_test_shards.py",
|
|
"script/validate_schema_fixtures.sh",
|
|
"script/validate_security_boundaries.sh",
|
|
"script/validate_swift_tests.sh",
|
|
"script/validate_test_isolation.sh",
|
|
"script/validate_time_independent_tests.py",
|
|
"script/validation_scope.py"
|
|
],
|
|
"dependencies": [
|
|
"shared-contracts"
|
|
],
|
|
"shared_paths": [
|
|
{
|
|
"path": "AGENTS.md",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "CHANGELOG.md",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "CONTRIBUTING.md",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "Cargo.lock",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "Cargo.toml",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "apps/macos/**",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "changes/unreleased/**",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "crates/**",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "docs/**",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "script/validate_app_bundle.sh",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "script/validate_app_lifecycle_contract.sh",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "script/validate_localizations.py",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "script/validate_source_syntax.sh",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "script/tests/**",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": ".github/workflows/auto-merge.yml",
|
|
"risk": "red"
|
|
},
|
|
{
|
|
"path": ".github/workflows/ci.yml",
|
|
"risk": "red"
|
|
},
|
|
{
|
|
"path": ".github/workflows/release.yml",
|
|
"risk": "red"
|
|
},
|
|
{
|
|
"path": "script/ci_proof_promotion.py",
|
|
"risk": "red"
|
|
},
|
|
{
|
|
"path": "script/configure_main_branch_ruleset.py",
|
|
"risk": "red"
|
|
},
|
|
{
|
|
"path": "script/development_flow.py",
|
|
"risk": "red"
|
|
},
|
|
{
|
|
"path": "script/release_source_proof.py",
|
|
"risk": "red"
|
|
},
|
|
{
|
|
"path": "script/resolve_release_source_proof.py",
|
|
"risk": "red"
|
|
},
|
|
{
|
|
"path": "script/validate_build_scripts_safety.sh",
|
|
"risk": "red"
|
|
},
|
|
{
|
|
"path": "script/validate_rust_test_shards.py",
|
|
"risk": "red"
|
|
},
|
|
{
|
|
"path": "script/validation_scope.py",
|
|
"risk": "red"
|
|
}
|
|
],
|
|
"durable_document": "docs/development/parallel-development.md",
|
|
"focused_tests": [
|
|
[
|
|
"python3",
|
|
"script/tests/test_validation_tooling.py"
|
|
],
|
|
[
|
|
"./script/validate_build_scripts_safety.sh",
|
|
"--static-only"
|
|
]
|
|
],
|
|
"ci_flags": {
|
|
"scripts": true
|
|
},
|
|
"allow_parallel_claims": false,
|
|
"control_plane": true,
|
|
"claims": [
|
|
{
|
|
"id": "control-plane",
|
|
"paths": [
|
|
".github/workflows/auto-merge.yml",
|
|
".github/workflows/ci.yml",
|
|
".github/workflows/release.yml",
|
|
"development/**",
|
|
"script/changelog_fragments.py",
|
|
"script/ci_proof_promotion.py",
|
|
"script/configure_main_branch_ruleset.py",
|
|
"script/development_domains.py",
|
|
"script/development_flow.py",
|
|
"script/engineering_metrics.py",
|
|
"script/interaction-contract-files.txt",
|
|
"script/fixtures/MainWindowColdLaunchProbe.swift",
|
|
"script/resolve_release_source_proof.py",
|
|
"script/release_source_proof.py",
|
|
"script/swift_build_artifact.py",
|
|
"script/validate_build_scripts_safety.sh",
|
|
"script/validate_github_release_api.py",
|
|
"script/validate_local_tests.py",
|
|
"script/validate_local_tests.sh",
|
|
"script/validate_main_window_ui.sh",
|
|
"script/validate_overlay_offline.sh",
|
|
"script/validate_portable_pet_maker.sh",
|
|
"script/validate_rust_test_shards.py",
|
|
"script/validate_schema_fixtures.sh",
|
|
"script/validate_security_boundaries.sh",
|
|
"script/validate_swift_tests.sh",
|
|
"script/validate_test_isolation.sh",
|
|
"script/validate_time_independent_tests.py",
|
|
"script/validation_scope.py"
|
|
]
|
|
},
|
|
{
|
|
"id": "engineering-speedup",
|
|
"paths": [
|
|
".github/workflows/auto-merge.yml",
|
|
".github/workflows/ci.yml",
|
|
".github/workflows/release.yml",
|
|
"development/**",
|
|
"script/changelog_fragments.py",
|
|
"script/ci_proof_promotion.py",
|
|
"script/configure_main_branch_ruleset.py",
|
|
"script/development_domains.py",
|
|
"script/development_flow.py",
|
|
"script/engineering_metrics.py",
|
|
"script/interaction-contract-files.txt",
|
|
"script/resolve_release_source_proof.py",
|
|
"script/release_source_proof.py",
|
|
"script/swift_build_artifact.py",
|
|
"script/validate_build_scripts_safety.sh",
|
|
"script/validate_github_release_api.py",
|
|
"script/validate_local_tests.py",
|
|
"script/validate_local_tests.sh",
|
|
"script/validate_overlay_offline.sh",
|
|
"script/validate_portable_pet_maker.sh",
|
|
"script/validate_rust_test_shards.py",
|
|
"script/validate_schema_fixtures.sh",
|
|
"script/validate_security_boundaries.sh",
|
|
"script/validate_swift_tests.sh",
|
|
"script/validate_test_isolation.sh",
|
|
"script/validation_scope.py"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "settings-appearance",
|
|
"owned_paths": [
|
|
"apps/macos/Sources/AgentPetCompanion/Features/Settings/**",
|
|
"apps/macos/Sources/AgentPetCompanion/Resources/Localization/Settings/**",
|
|
"apps/macos/Sources/AgentPetCompanion/Views/BehaviorSettingsView.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/Views/SidebarConfigurationLivePreview.swift"
|
|
],
|
|
"dependencies": [
|
|
"app-shell-runtime",
|
|
"shared-contracts"
|
|
],
|
|
"shared_paths": [
|
|
{
|
|
"path": "apps/macos/Sources/AgentPetCompanion/App/AppStore.swift",
|
|
"risk": "amber"
|
|
}
|
|
],
|
|
"durable_document": "docs/architecture/data-model.md",
|
|
"focused_tests": [
|
|
[
|
|
"./script/validate_swift_tests.sh",
|
|
"--scope",
|
|
"all"
|
|
]
|
|
],
|
|
"ci_flags": {
|
|
"bundle": true,
|
|
"swift_mode": "full"
|
|
},
|
|
"allow_parallel_claims": false,
|
|
"control_plane": false,
|
|
"claims": [
|
|
{
|
|
"id": "appearance",
|
|
"paths": [
|
|
"apps/macos/Sources/AgentPetCompanion/Features/Settings/**",
|
|
"apps/macos/Sources/AgentPetCompanion/Resources/Localization/Settings/**",
|
|
"apps/macos/Sources/AgentPetCompanion/Views/BehaviorSettingsView.swift",
|
|
"apps/macos/Sources/AgentPetCompanion/Views/SidebarConfigurationLivePreview.swift"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "shared-contracts",
|
|
"owned_paths": [
|
|
"apps/macos/Sources/AgentPetCompanionCore/Contracts/**",
|
|
"crates/petcore-types/src/**",
|
|
"crates/petcore/src/daemon.rs",
|
|
"crates/petcore/src/fs_identity.rs",
|
|
"crates/petcore/src/lib.rs",
|
|
"crates/petcore/src/rpc/**"
|
|
],
|
|
"dependencies": [],
|
|
"shared_paths": [
|
|
{
|
|
"path": "apps/macos/Package.swift",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "apps/macos/Sources/AgentPetCompanion/App/AppStore.swift",
|
|
"risk": "amber"
|
|
},
|
|
{
|
|
"path": "Cargo.toml",
|
|
"risk": "amber"
|
|
}
|
|
],
|
|
"durable_document": "docs/architecture/runtime-and-ipc.md",
|
|
"focused_tests": [
|
|
[
|
|
"cargo",
|
|
"test",
|
|
"--workspace",
|
|
"--locked"
|
|
],
|
|
[
|
|
"./script/validate_swift_tests.sh",
|
|
"--scope",
|
|
"all"
|
|
]
|
|
],
|
|
"ci_flags": {
|
|
"bundle": true,
|
|
"rust_mode": "workspace",
|
|
"swift_mode": "full"
|
|
},
|
|
"allow_parallel_claims": false,
|
|
"control_plane": false,
|
|
"claims": [
|
|
{
|
|
"id": "rpc-contracts",
|
|
"paths": [
|
|
"crates/petcore/src/rpc/**"
|
|
]
|
|
},
|
|
{
|
|
"id": "rust-types",
|
|
"paths": [
|
|
"crates/petcore-types/src/**"
|
|
]
|
|
},
|
|
{
|
|
"id": "swift-contracts",
|
|
"paths": [
|
|
"apps/macos/Sources/AgentPetCompanionCore/Contracts/**"
|
|
]
|
|
},
|
|
{
|
|
"id": "core-runtime",
|
|
"paths": [
|
|
"crates/petcore/src/lib.rs",
|
|
"crates/petcore/src/daemon.rs",
|
|
"crates/petcore/src/fs_identity.rs"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "storage-migrations",
|
|
"owned_paths": [
|
|
"crates/petcore/src/storage/**"
|
|
],
|
|
"dependencies": [
|
|
"shared-contracts"
|
|
],
|
|
"shared_paths": [
|
|
{
|
|
"path": "crates/petcore/src/storage/migrations.rs",
|
|
"risk": "red"
|
|
},
|
|
{
|
|
"path": "docs/architecture/data-model.md",
|
|
"risk": "amber"
|
|
}
|
|
],
|
|
"durable_document": "docs/architecture/data-model.md",
|
|
"focused_tests": [
|
|
[
|
|
"cargo",
|
|
"test",
|
|
"-p",
|
|
"petcore",
|
|
"--lib",
|
|
"--locked"
|
|
]
|
|
],
|
|
"ci_flags": {
|
|
"rust_mode": "petcore"
|
|
},
|
|
"allow_parallel_claims": true,
|
|
"control_plane": false,
|
|
"claims": [
|
|
{
|
|
"id": "agent-queries",
|
|
"paths": [
|
|
"crates/petcore/src/storage/agents.rs"
|
|
]
|
|
},
|
|
{
|
|
"id": "connection-queries",
|
|
"paths": [
|
|
"crates/petcore/src/storage/connections.rs"
|
|
]
|
|
},
|
|
{
|
|
"id": "generation-queries",
|
|
"paths": [
|
|
"crates/petcore/src/storage/generation.rs"
|
|
]
|
|
},
|
|
{
|
|
"id": "pet-queries",
|
|
"paths": [
|
|
"crates/petcore/src/storage/pets.rs"
|
|
]
|
|
},
|
|
{
|
|
"id": "settings-queries",
|
|
"paths": [
|
|
"crates/petcore/src/storage/settings.rs"
|
|
]
|
|
},
|
|
{
|
|
"id": "migrations",
|
|
"paths": [
|
|
"crates/petcore/src/storage/migrations.rs",
|
|
"crates/petcore/src/storage/mod.rs"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|