Project skeleton in Oxygen's shape: workspace, Makefile, scripts, changelog, plan issue #1 closed: completed andymccall opened this · 1 comment
andymccall set labels chore ·
andymccall set milestone Sprint 1 ·
andymccall edited ·
andymccall referenced by change 258bb3824813 on main ·
andymccall
Done in 4e229000: the workspace in Oxygen's shape (spectra-core, spectra-mcp, spectra-api, radar, the spectra binary), Oxygen pinned as a subrepo under deps/oxygen for identities and signatures, make check (changelog, fmt on Spectra's own packages, clippy -D warnings, tests), spectra version [--json] with the build identity from build.rs, and make deps-check. Cargo.lock starts from oxygenhub's, with proptest and unicode-width pinned to the versions oxygen has, so all 212 crates are ones the OxygenFlow image already vendors.
andymccall closed ·
The workspace and everything around the code, shaped exactly as Oxygen's so moving between the projects needs no relearning (docs/implementation-prompt.md, "The one rule about shape").
Cargo.tomlworkspace with[workspace.package](0.1.0, edition 2021,MIT OR Apache-2.0), thespectrabinary at the root, memberscrates/spectra-core,crates/spectra-mcp,crates/spectra-api,crates/radar.Makefile: oxygenhub's targets (build,check: changelog fmt clippy test,changelog,fmt,clippy,test,run,ts) plus oxygen'sinstall.build.rsandSPECTRA_BUILD(the build identity fromoxy describe),spectra version [--json].scripts/changelog-check.sh,rustfmt.toml(oxygenhub's),.oxyignore,.oxyattributes,LICENSE;src/cli/ui.rsandsrc/cli/json.rswith the names changed.deps/oxygen: Oxygen pinned as a subrepo (oxy submodule add), the way oxygenhub pins its dependencies, sospectra-corebuilds against an exactoxy-corefor identities, signatures, CBOR and hashing (spec §7.3, §9.5).Cargo.lock, so the vendored OxygenFlow image can build Spectra without a rebuild (see issue #2).CHANGELOG.mdwith## Unreleased;docs/plan.mdwith the overnight loop, its rules and the Sprint 1 items as checkboxes.Done when
make checkpasses on the empty project,spectra --helpandspectra version --jsonwork, and the skeleton is committed withoxy.