1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
[]
= "arcature-cli"
= "2026.1.1"
= true
= true
= true
= true
= true
= "README.md"
= "https://docs.rs/arcature-cli"
= "Developer lifecycle CLI for Arcature applications."
= ["command-line-utilities", "development-tools"]
= ["arcature", "cli", "axum", "inertia", "vite"]
[]
= true
= "subsystem"
= "arcature-cli"
[]
# `arcature-build` provides the canonical UAG schema types the CLI
# deserializes the metadata binary's JSON output into. The `uag-schema`
# feature is the serde-only subset (schema types + version constant +
# serde/serde_json) with NO `arcature` runtime dependency (AGENTS.md §16
# standalone-first): the CLI shells out to the app's `arcature-metadata`
# binary and reads the canonical `arcature_build::uag::Uag` directly,
# retiring the hand-maintained `MetadataArtifact` mirror so the schema lives
# in exactly one place (ADR-0006 §2: "Same graph everywhere"). `default-
# features = false` keeps the build-script `compile()` path off (the CLI
# does not run a build script and must not pull `arcature` here).
= { = "../arcature-build", = "~2026.1.0", = false, = ["uag-schema"] }
= { = "../arcature-db", = "~2026.1.0" }
= { = "../arcature-observe", = "~2026.1.0" }
# AP2.1-6: `arc db lint` delegates migration classification to
# `arcature-data::classify`. `arcature-data` is a `core` release-unit member
# (publish = true) that re-uses `arcature-db`'s certified SeaORM/SQLx surface
# and adds zero new external dependencies. The CLI uses only its deterministic,
# database-free lint classifier (no connection, no env access).
= { = "../arcature-data", = "~2026.2.0" }
= { = "../arcature-templates", = "~2026.1.0" }
# AP2.1-7: the `arcature` facade for the system-check framework
# (`SystemCheck` trait + `FRAMEWORK_CHECKS` slice + `system_check::run`).
# `default-features = false` keeps the CLI's compile graph minimal — only the
# always-on `system_check` module is needed. `serde` exposes the JSON view
# types (`SystemCheckReportJson`) for `arc doctor --checks --json`.
# `observe` compiles in the `SpanContractCheck` so the framework's own
# span-name contract is self-diagnosed. All three are workspace crates
# already in the graph (axum/tower/arcature-observe are workspace-vetted);
# no new external crate (AGENTS.md §8). The dependency direction is
# cli → facade, which is the normal dev-tool direction (the CLI is not a
# runtime hot-path dependency of an application). `arcature-cli` is its own
# release unit (distinct from `core`), so the requirement is a cross-unit
# tilde `~YEAR.BREAK.0`, NOT an exact `=V` (exact couples independent units
# and is reserved for the `core`-internal `arcature → arcature-dx` lock;
# ADR-0005 invariant 5 / RV2 rule 7).
= { = "../arcature", = "~2026.2.0", = false, = ["serde", "observe"] }
= true
= true
= true
= true
= true
= true
[]
# `tempfile` for the UAG-load unit tests (unique auto-cleaning temp
# directories for fixture manifests). Already a workspace dependency
# (Phase 5 storage); test-only, never enters a production path. Internal
# workspace reuse — no new external admission.
= true
[]
= true
[]
= "src/lib.rs"
[[]]
= "arc"
= "src/main.rs"
[[]]
= "project_generation"
= "tests/project_generation/project_generation.rs"
[[]]
= "script_execution"
= "tests/script_execution/script_execution.rs"
[[]]
= "dev_lifecycle"
= "tests/dev_lifecycle/dev_lifecycle.rs"
[[]]
= "command_lifecycle"
= "tests/command_lifecycle/command_lifecycle.rs"
[[]]
= "install_lifecycle"
= "tests/install_lifecycle/install_lifecycle.rs"
[[]]
= "uag_read_path"
= "tests/uag_read_path/uag_read_path.rs"