Host baseline layer: shipped manifest + lock converged by dev up - #132
Open
JPDuchesne wants to merge 5 commits into
Open
Host baseline layer: shipped manifest + lock converged by dev up#132JPDuchesne wants to merge 5 commits into
JPDuchesne wants to merge 5 commits into
Conversation
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements the host baseline layer of d3mlabs/plans#26 (closes #102): every d3mlabs host converges toward one org-invariant tool set, owned by dev's release.
Dev::Deps::Baseline— the layer's policy object. The manifest (share/baseline/dependencies.rb: git, gh, rbenv, shadowenv, darwin-gated cursor-agent) and its committed lock ship inside dev's distribution; hosts install the pin, never resolve (bin/update-baseline.rbregenerates the lock in this repo). Convergence state is one host-side stamp under$XDG_DATA_HOME/dev/host-baseline/with the same O(1) digest check projects get (Stalenessgains a fixedstate_key:override).dev upconverges the baseline as its first step (no-op on warm hosts), and becomes valid outside any dev.yml — host layer only, which is the fresh-box bootstrap (brew install dev→dev up→ ready).DependencyService#guard!surfaces "host baseline stale — rundev up" as advisory, even in CI — the baseline never blocks a project command.cursor_agentintegration (registry + DSL verb): Cursor publishes no release feed, so resolution pins the version the served install script bakes into its download URL; install lands the pinned package in a version-keyed dir with acurrentsymlink (publish_currentlifted from GhIntegration into the Integration base).AI_FLOW_AGENT_BINpoints at<install_dir>/current/cursor-agent.Incidentally smoke-tested end to end: a spawned
dev upoutside a project converged this workstation for real — brew formulae verified, cursor-agent 2026.08.11-e8db854 installed with marker +currentpointer, stamp written, second run O(1)-quiet.Test plan
dev test— 959 tests, 0 failures (new: baseline staleness/converge/lock lifecycle, cursor_agent repository + integration incl. real curl/tar boundaries via PATH shims, concurrent publish, guard/up wiring)dev style,dev tccleandev upoutside a project converges then goes quiet; baseline nag appears on other commands when staleMade with Cursor